コントローラーのパラメーターなしのコンストラクターの問題があります。それを解決するために、StructureMap を使用します。
このクラスを追加します
public class StructureMapControllerFactory : DefaultControllerFactory
{
public override IController CreateController(RequestContext requestContext, string controllerName)
{
try
{
string key = controllerName.ToLowerInvariant();
return ObjectFactory.GetNamedInstance<IController>(key);
}
catch (StructureMapException ex)
{
//Use the default logic.
return base.CreateController(requestContext, controllerName);
}
}
}
そして、私は付け加えます
ControllerBuilder.Current.SetControllerFactory(new StructureMapControllerFactory());
Global.asax.cs の Application_Start() に
しかし、おそらく StructureMap を初期化していないため、エラーが発生しました ControllerFactory のみを使用するためにこれを適切に初期化するにはどうすればよいですか?