0
我是Nancy的新手。我想要实现的是创建一个从NancyModule
类继承的基类NancyBaseModule
。这个班级应该负责“常见的东西”。我想这样做,而不是在扩展方法或静态方法中隐藏这类功能。Nancy,模块未加载
我面临的问题是,通过为这个基类添加功能,注册一个简单的GET
方法,这个注册方法的Func
将永远不会在Web浏览器中尝试访问时调用。事实上,类的构造函数从来没有被调用过,这让我想到我需要在构造函数中至少注册HTTP方法。正如你可以看到,如果我添加“虚拟”路径,它将一切正常。
这是我的基类看起来像:
public abstract class NancyBaseModule : NancyModule
{
public NancyBaseModule(string prefix) : base(prefix)
{
//Get("/dummy", p =>
//{
// return "Nothing interesting here, Cowboy.";
//});
var configurator = new NancyEndpointConfigurator()
{
RegisterWithReturnValue = (path, action) =>
{
Get(path, action);
}
};
RegisterEndpoints(configurator);
}
public abstract void RegisterEndpoints(INancyEndpointConfigurator configurator);
}
我的派生类:
public class AckService : NancyBaseModule
{
public AckService() : base("AckService")
{
}
public override void RegisterEndpoints(INancyEndpointConfigurator configurator)
{
configurator.WithReturnValue("/now", p =>
{
return $"Greetings. The time is: {DateTime.Now.ToString()}";
});
}
}
由于我缺乏知识的使用南希,我不太清楚,如果这是正确的方法来考虑框架背后的设计思想。如果任何人明白我想要达到的目标,请点击我的正确方向。