当我有以下代码时:
public class Webserver: NancyModule
{
public Webserver()
{
Post[""] = _ => 200;
}
}
一切正常,但是当我有这个
public class Webserver: NancyModule
{
public Webserver(string id="")
{
Post[""] = _ => 200;
}
}
我有8个内部异常,其中之一是TinyIoCResolutionException: Unable to resolve type: <namespace>.Webserver
。
在一个可能相关的问题中,当我有以下代码时,我会遇到相同的异常:
public class Webserver<T> : NancyModule
{
public Webserver()
{
Post[""] = _ => 200;
}
}
我已经安装了Nancy版本1.4.3
,并且已经安装了Nancy.Hosting.Self版本1.4.1
。
答案 0 :(得分:0)
您的模块必须可以使用应用程序的TinyIocContainer
进行解析。这意味着您不能传递原始的构造函数参数,因为TinyIoc将不知道如何创建它们。您作为参数传递给模块的所有内容本身都必须可以通过容器解析。
第二种情况也是一样。使模块通用后,TinyIoc将不知道如何创建它。您可以为模块创建一个抽象的通用基类,但是每个公开的模块都必须关闭该通用类。