基本上我的代码如下所示:
[assembly: WebActivator.PreApplicationStartMethod(typeof(OpusOneCorp.Presentation.Client.Mvc.EndUser.App_Start.StructuremapMvc), "Start")]
namespace OpusOneCorp.Presentation.Client.Mvc.EndUser.App_Start {
public static class StructuremapMvc {
public static void Start() {
var container = InversionOfControl.InitializeForUser();
DependencyResolver.SetResolver(new StructureMapDependencyResolver(container));
ObjectFactory.GetInstance<IThreadRunner>().Check();
}
}
}
好吧,我不是这段代码的作者,但它被实现为在每次项目启动时运行,并且它使用 Web Activator 属性来执行此操作。在我的机器上,它真的是一种奇怪的方式。如果我在它上面设置了一个断点,那么它根本不会到达断点,这意味着它在应用程序启动之前没有到达这个代码。
其次,当我做 iisreset 时,它第一次命中它但没有再进一步命中它......同时,它每次都在我同事的计算机上命中它......这是非常不一致的行为它刚刚开始表演这是。我有这个代码几个月了,它从来没有坏过,但它突然开始这样做了。当然,这意味着其他东西已经改变了它,但是如果它已经破坏了它,那么它永远不应该达到断点,而不是决定每次我执行 iisreset 时都击中它。