0

基本上我的代码如下所示:

    [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 时都击中它。

4

1 回答 1

4

您是在同事的计算机上使用 IIS,还是在 Web 服务器中内置了 Visual Studio?

每次您从 vs 运行网站时,vs Web 服务器都会重新启动应用程序,在应用程序启动时遇到断点,但 IIS 只会在第一次调用时启动应用程序。这就是为什么在您执行 iisreset 之前它不会再次达到断点的原因。

于 2012-08-21T10:06:48.510 回答