为什么在我的实时环境中,如果我执行应用程序池回收,用户将被注销,而在我的测试环境中则不是

时间:2016-02-29 15:30:22

标签: asp.net asp.net-mvc iis forms-authentication iis-8

我正在开发一个asp.net mvc-4 Web应用程序,它托管在IIS-8和windows server 2012 r2中。现在我在live和我的测试服务器中有相同的设置。这是我的测试中的应用程序池,设置: -

enter image description here

并且在里面直播: - enter image description here

现在我在我的asp.net mvc web应用程序中使用表单身份验证,这是相关的web.config实体: -

<membership>
  <providers>
    <add name="TestDomain1ADMembershipProvider" type="System.Web.Security.ActiveDirectoryMembershipProvider, System.Web, Version=4.0.0.0, &#xA;            Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" connectionStringName="TestDomain1ConnectionString" connectionUsername="*********" connectionPassword="******" attributeMapUsername="sAMAccountName" />

  </providers>
</membership>

<httpRuntime targetFramework="4.5" />
<authentication mode="Forms">
  <forms loginUrl="~/Account/Login" timeout="40320" />
</authentication>

现在我注意到了这种奇怪的行为。如果我在测试服务器上,我右键单击&#34;应用程序池&gt;&gt;回收&#34; ,然后登录的用户将不会被注销。即使我重新启动整个测试服务器操作系统,用户也不会受到影响。而在实时服务器上,如果我更改应用程序池中的任何设置,例如更改循环时间间隔,或者我手动回收实时应用程序池,则登录用户在尝试访问Web应用程序时将被注销。所以不确定是什么控制了这个?有没有设置可以控制这个?似乎在测试服务器上没有任何东西会强制登录用户注销,而在实时更改应用程序池循环间隔,或执行iis重置将强制登录用户注销..

0 个答案:

没有答案