Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/35.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cocoa/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net IIS 7工作进程与共享应用程序池挂起。两个站点中的一个运行良好_Asp.net_Asp.net Mvc_Vb.net_Iis_Stateserver - Fatal编程技术网

Asp.net IIS 7工作进程与共享应用程序池挂起。两个站点中的一个运行良好

Asp.net IIS 7工作进程与共享应用程序池挂起。两个站点中的一个运行良好,asp.net,asp.net-mvc,vb.net,iis,stateserver,Asp.net,Asp.net Mvc,Vb.net,Iis,Stateserver,我有两个网站共享一个应用程序池.Net V4.0集成版 一个站点是ASP.NET MVC 4,另一个是VB.NET网站 它们通过在web.config <authentication mode="Forms"> <forms loginUrl="http://www.example.com/login.aspx" name=".MYCUSTOMAUTH" protection="All" path="/" domain=".example.com" timeout="30"

我有两个网站共享一个应用程序池
.Net V4.0集成版

一个站点是
ASP.NET MVC 4
,另一个是
VB.NET网站

它们通过在
web.config

<authentication mode="Forms">
  <forms loginUrl="http://www.example.com/login.aspx" name=".MYCUSTOMAUTH" protection="All" path="/" domain=".example.com" timeout="30" />
</authentication>
<httpCookies domain=".example.com" />
<sessionState mode="StateServer" stateConnectionString="tcpip=loopback:42424" />
<machineKey validationKey="XXX" decryptionKey="XXX" validation="SHA1" />
位于
www.example.com
的主站点显示一个登录屏幕,在正确登录时,将创建一个对象会话,并将用户重定向到
subdomain.example.com

问题是,工作线程只是无限期地挂起,使每个线程的线程最大化。当我昨晚6:00离开时,这个设置工作正常,但当我今天早上9:00尝试登录时,它没有停止工作

我重新部署了这两个站点,回收了应用程序池,删除并创建了新的应用程序池,重新启动了ASP.NET状态服务。一切都是重新启动整个IIS服务,直到周日凌晨3:00才可以选择…
此外,即使重新启动IIS服务器可以暂时解决问题,但如果问题继续存在,也不可能每天都这样做


此外,除非我手动结束该过程,否则服务器不会超时连接,事件日志中也不会产生错误或警告。

它们确实需要在同一应用程序池中才能共享会话信息 如果您尝试,它是否会在回收应用程序池后立即挂起


您需要确定导致其挂起的操作-(例如,在任一站点上单击登录按钮)。为什么要使用customauth而不是forms auth?

我知道这并不理想,但它们可以作为单独的应用程序池运行吗?我相信您已经想到了这一点…我的理解是,要正确共享会话,它们需要位于同一个应用程序池中,但我现在将尝试一下。结果是相同的应用程序挂起。。。虽然它昨天工作了几个小时,但它也无法解释,您唯一要了解的是,使用ADPlus/DebugDiag工具捕获工作进程转储,然后在WinDbg+SOS中进行分析。苔丝·费兰德斯(Tess Ferrandez)有一系列关于这个主题的文章:| |。此外,如果您没有说明Windows/IIS的版本,可以在问题/标记中提供该信息吗?谢谢
FieldInfo runtimeInfo = typeof(HttpRuntime).GetField("_theRuntime", BindingFlags.Static | BindingFlags.NonPublic);
HttpRuntime theRuntime = (HttpRuntime)runtimeInfo.GetValue(null);
FieldInfo appNameInfo = typeof(HttpRuntime).GetField("_appDomainAppId", BindingFlags.Instance | BindingFlags.NonPublic);
appNameInfo.SetValue(theRuntime, "MyApplicationName");