我仍在尝试使用 StructureMap 解决问题,我遇到的问题之一是当将空控制器类型传递给它时,我的 Controller Factory 类爆炸了。这只发生在应用程序第一次构建时,之后每个后续构建都可以正常工作。即使我关闭 Visual Studio 并重新打开项目(我没有在 IIS 中运行它)。几乎就像是在进行某种缓存。这是控制器类的样子:
public class IocControllerFactory : DefaultControllerFactory
{
protected override IController GetControllerInstance(Type controllerType)
{
try
{
return (Controller)ObjectFactory.GetInstance(controllerType);
}
catch (StructureMapException)
{
System.Diagnostics.Debug.WriteLine(ObjectFactory.WhatDoIHave());
throw;
}
}
}
有什么问题?我需要注册每个控制器吗?谢谢你。