ASP.NET では、VS2012 からデバッグ モードでサーバーを実行しているときはいつでも、静的コンテンツ (js、css など) に加えた変更は、保存するとすぐに反映されます。
NancyFX では、静的コンテンツを変更するたびにサーバーを再起動する必要があります。これは、サーバーを実行するたびにVSが静的コンテンツを出力ディレクトリにコピーする必要があるためだと思います。
保存時に静的コンテンツに加えられた変更をすぐに反映する方法はありますか?
静的コンテンツの構成は次のとおりです
public class MainBootstrapper : DefaultNancyBootstrapper
{
protected override void ConfigureConventions(NancyConventions nancyConventions)
{
nancyConventions.StaticContentsConventions.Add(StaticContentConventionBuilder.AddDirectory("Scripts"));
base.ConfigureConventions(nancyConventions);
}
}
これも関係ありそうです。nancyfx メイン ループが次のように記述されたコンソール アプリケーションでこれを実行しています。
class Program
{
const ushort port = 64402;
const string escapeString = "/Terminate";
static void Main(string[] args)
{
NancyHost host;
#region Making new instance of NancyHost
var uri = new Uri("http://localhost:" + port + "/");
var config = new HostConfiguration(); config.UrlReservations.CreateAutomatically = true;
host = new NancyHost(config, uri);
#endregion
#region NancyFX hosting loop
try
{
host.Start();
Console.Write("Start hosting the Fate/Another ranking system frontend\n" +
"\t\"" + uri + "\"\n" +
"To stop the hosting, input \"" + escapeString + "\".\n\n");
do Console.Write("> "); while (Console.ReadLine() != escapeString) ;
}
catch (Exception e)
{
Console.WriteLine("Unhandled exception has been occured!\n"
+ e.Message);
Console.ReadKey(true);
}
finally
{
host.Stop();
}
Console.WriteLine("Goodbye");
#endregion
}
}
これは、なぜ私が Nancy.ASPNET.hosting を使用しないのか疑問に思っている場合に備えて、nginx を使用した ubuntu で実行されます。