我想将不同的字符串注入到我的每个模块的构造函数中。我注册了一个构造模块的工厂方法。然后我可以打电话container.Resolve<T>(),一切都很好。出于某种原因,当 Nancy 尝试解析我的模块时,它会抛出错误
Nancy.TinyIoc.TinyIoCResolutionException:无法解析类型:Plugin.HomeModule ---> Nancy.TinyIoc.TinyIoCResolutionException:无法解析类型:System.String
public class HomeModule : NancyModule
{
public HomeModule(string text)
{
}
}
protected override void ConfigureApplicationContainer(TinyIoCContainer container)
{
base.ConfigureApplicationContainer(container);
container.Register<HomeModule>((ctr, param) => { return new HomeModule("text"); });
HomeModule module = container.Resolve<HomeModule>();
}
我也尝试过ConfigureRequestContainer()以相同的结果进行注册。我也试过container.Register<HomeModule>(new HomeModule("some text"));了AsSingleton()。我可以使用 将实现注册到字符串类型container.Register<string>("text"),但这会将相同的字符串注入所有模块。
如何注册模块构造函数以便 Nancy 可以解决它?