モジュールの各コンストラクターに異なる文字列を挿入したいと考えています。モジュールを構築するファクトリ メソッドを登録します。その後、電話container.Resolve<T>()
をかけることができ、すべて順調です。なんらかの理由で、ナンシーが私のモジュールを解決しようとすると、エラーがスローされます
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 が解決できるように、モジュール コンストラクターを登録するにはどうすればよいですか?