我正在构建一个基于Nancy的应用程序,它使用NancyHost
作为嵌入式Web服务器。
我也尝试通过创建自定义引导程序来提供一些静态内容,如文档here中所述。
但是,我看到的问题是这个自定义引导程序类从未实例化,并且永远不会调用ConfigureConventions
方法。为确保此自定义引导程序已注册,我是否需要执行任何特定操作?
下面的自定义引导程序代码:
using Nancy;
using Nancy.Conventions;
using System;
namespace Application
{
public class CustomBootstrapper : DefaultNancyBootstrapper
{
protected override void ConfigureConventions(NancyConventions conventions)
{
Console.WriteLine("test");
conventions.StaticContentsConventions.Add(StaticContentConventionBuilder.AddDirectory("client", @"client"));
conventions.StaticContentsConventions.Add(StaticContentConventionBuilder.AddDirectory("lib", @"lib"));
base.ConfigureConventions(conventions);
}
}
}
答案 0 :(得分:3)
事实证明我必须将引用传递给NancyHost构造函数中的CustomBootstrapper。
var host = new NancyHost(new Uri(JsonHelper.URL), new CustomBootstrapper(), config);
host.Start();
答案 1 :(得分:1)
你的引导程序是否在另一个程序集中?
请检查IncludeInNancyAssemblyScanning 在 Documentation