Pull to refresh

Comments 11

Спасибо вам за эту серию статей. Не знаю, воспользуюсь ли я когда-нибудь NancyFX, но было определенно полезно узнать, что в мире .NET есть альтернатива ASP.NET MVC.

Посмотрел в профиль — мир тесен :).
UFO just landed and posted this here
Было бы отлично, если бы автор добавил в пост ссылки на предыдущие статьи цикла
Учту, как доберусь до компьютера обязательно поставлю ссылки на предыдущие статьи.
Стоило указать, что для views (файлов) нужно выставить свойства:
Build Action: None
Copy always: Copy always

Другими словами, шаблоны должны валяться рядом с.ехе
Или есть другие варианты?
Да, вьюхи должны быть в бине. Извините за это упущение.
Еще один нюанс с Console.ReadLine(); в Linux при демонизации процесса вызывает EOF:

            nancyHost.Start();
            Console.WriteLine("Service started!");
            //Under mono if you deamonize a process a Console.ReadLine with cause an EOF 
            //so we need to block another way
            Thread.Sleep(Timeout.Infinite);
            nancyHost.Stop();
            Console.WriteLine("Service stoped!");
Thread.Sleep(Timeout.Infinite);

Anvol, кто вас так научил? Никогда так не делайте.
Для этого случая, на мой взгляд, идеально подходит что-то вроде AutoResetEvent.

А если используете Mono, то лучше UnixSignals.
Если посмотреть историю, то там еще более ужасный ужас, оказывается.
while (true) Thread.Sleep(10000000); 

Думал такое только на первом курсе пишут…

В общем, если использовать Mono, то лучше сделать так, на мой взгляд:
try
{
	host.Start();

	Console.WriteLine("Started at {0}", uri);

	// Mono.Posix.dll
	UnixSignal[] signals = new UnixSignal[]
	{
		new UnixSignal (Signum.SIGINT), 
		new UnixSignal (Signum.SIGTERM), 
		new UnixSignal (Signum.SIGQUIT)
	};
	UnixSignal.WaitAny(signals, -1);
}
catch (Exception e)
{
	Console.WriteLine(e.ToString());
}
finally
{
	Console.WriteLine("Shutting down.");
	host.Stop();
}
Согласен, так правильно, но не портируется. AutoResetEvent, пожалуй, лучший компромисс
Sign up to leave a comment.

Articles