【发布时间】:2015-02-04 17:30:25
【问题描述】:
我正在使用 OWIN 在 MVC5 应用程序中实现 Microsoft 的 Identity 2.0。
在我的开发环境中一切正常(VS 2013 - V12+ Update 4,IIS Express)。
但是,当我将应用程序上传到仅运行此应用程序的 IIS 测试服务器时,IIS 将在应用程序中的任何页面请求上挂起一段时间(22-34 秒)。有时它会立即访问页面而不会挂起,然后在一段时间后挂起又回来。检查 IIS 工作进程总是显示挂起:
_DynamicModule_Microsoft.Owin.Host.SystemWeb.OwinHttpModule, Micorosoft.Owin.Host.SystemWeb, Version=etc
阅读SO.com后的解决流程:
我认为这可能是由于应用程序池回收(将 Idle TimeOut 从 20 设置为 0)。问题仍然存在。
删除整个网络应用程序,开始全新安装。问题仍然存在。
删除了 ASP.NET 临时文件,回收了应用程序池。问题仍然存在。
检查到数据库的连接字符串。连接性/初始目录存在且功能正常。 * 这是其他帖子中的问题。
DNS 是问题所在:Web 服务器的以太网配置中的辅助 DNS 服务器指向服务器场域之外的其他 DNS 服务器。应用程序模块偶尔会使用此 DNS 服务器,该服务器显然无法通过集成的 OWIN 管道解析/定位 Microsoft 身份功能所需的数据库服务器。这会导致“挂起”,直到模块超时(24-34 秒后)。
【问题讨论】:
-
挂起是否发生在您的代码中,或者您无法附加调试器的其他地方?您是否有任何广泛的预运行任务?
标签: c# asp.net-mvc iis owin claims-based-identity