C# MVC控制器初始值设定项被多次调用

C# MVC控制器初始值设定项被多次调用,c#,asp.net-mvc,unity-container,C#,Asp.net Mvc,Unity Container,问题: 当我加载时,我的应用程序多次尝试初始化主控制器,我想知道为什么。。。这让我发疯了,如果我们中的一个人有类似的错误,想让我了解我必须检查的内容,我会同意的 MVC3 C#使用Unity作为IoC 控制器: 您的控制器将在涉及它的每个请求上初始化 这是正常的,IIS是如何工作的。很高兴知道每个UnityResolve默认情况下将创建一个新的实例。如果您不想这样做,您应该提供一个LifeTimeManager 阅读Microsoft关于和的文章 也许你想用这样的东西: // Register

问题:

当我加载时,我的应用程序多次尝试初始化主控制器,我想知道为什么。。。这让我发疯了,如果我们中的一个人有类似的错误,想让我了解我必须检查的内容,我会同意的

MVC3 C#使用Unity作为IoC

控制器:


您的控制器将在涉及它的每个请求上初始化


这是正常的,IIS是如何工作的。

很高兴知道每个
Unity
Resolve
默认情况下将创建一个新的
实例。如果您不想这样做,您应该提供一个
LifeTimeManager

阅读Microsoft关于和的文章

也许你想用这样的东西:

// Register a default (un-named) type mapping with a singleton lifetime 
myContainer.RegisterType<IMyObject, MySingletonObject>(new ContainerControlledLifetimeManager());
// Following code will return a singleton instance of MySingletonObject// Container will take over lifetime management of the object
myContainer.Resolve<IMyObject>();
//注册具有单例生存期的默认(未命名)类型映射
RegisterType(新的ContainerControlledLifetimeManager());
//下面的代码将返回mySingleToObject的单例实例//容器将接管对象的生命周期管理
myContainer.Resolve();

谢谢您的代码,但这并不能解释您似乎遇到的问题。主控制器何时初始化?为什么您认为它被初始化了很多次?为什么你认为这是不正确的?将需要包括更多的细节,比主控制器正在初始化注册路由默认情况下,我认为这是为CSS和HTML错误,如崩溃的链接。。。但是我检查了一下,找不到错误…嗨,为了您的快速响应,我只执行了一个操作(一个请求),这是RegisterRoutes上的默认操作。如何检查正在执行控制器的所有请求?为了检查那个错误,我在看fiddler,但我找不到it@user1520494-那么您是如何确定控制器已多次初始化的?你怎么知道?因为我正在修复控制器上的一个断点,并在显示主视图之前停止了14次,所以我已经删除了控制器构造函数上的所有参数,并且仍在执行相同的操作…@user1520494-太好了。你看了这14次堆栈跟踪了吗?这将告诉您什么是调用控制器。
// Register a default (un-named) type mapping with a singleton lifetime 
myContainer.RegisterType<IMyObject, MySingletonObject>(new ContainerControlledLifetimeManager());
// Following code will return a singleton instance of MySingletonObject// Container will take over lifetime management of the object
myContainer.Resolve<IMyObject>();