Asp.net 如何在IIS或web.config中设置网站以保持会话?

Asp.net 如何在IIS或web.config中设置网站以保持会话?,asp.net,iis,web-config,session-state,Asp.net,Iis,Web Config,Session State,每当我在项目中更新一个文件,并且我在网站上时,我就会失去身份验证。会话正在更改,或者我不知道发生了什么。 我应该做什么改变 这是webconfig的一部分 <system.web> <sessionState cookieless="UseCookies" mode="InProc" sqlCommandTimeout="1200" sqlConnectionString="Data Source=WINDOWS2008\SQLEXPRESS;User ID=dotne

每当我在项目中更新一个文件,并且我在网站上时,我就会失去身份验证。会话正在更改,或者我不知道发生了什么。 我应该做什么改变

这是webconfig的一部分

<system.web>
    <sessionState cookieless="UseCookies" mode="InProc" sqlCommandTimeout="1200" sqlConnectionString="Data Source=WINDOWS2008\SQLEXPRESS;User ID=dotnet;Password=1234" timeout="20" />
    <globalization culture="en-US" />
    <httpRuntime minFreeThreads="18" minLocalRequestFreeThreads="18" executionTimeout="1000000" maxRequestLength="1024000" requestLengthDiskThreshold="1024000" />
    <!-- <sessionState timeout="60" mode="InProc" />-->
    <!-- 
    Set compilation debug="true" to insert debugging 
    symbols into the compiled page. Because this 
    affects performance, set this value to true only 
    during development.
-->
    <compilation debug="true" targetFramework="4.0">
        <assemblies>
            <add assembly="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089" />
        </assemblies>

您应该通过cookie使用身份验证。这样,您当前登录的用户将不会受到会话删除的影响

注意:实际上,正确地处理身份验证还有许多其他好处。指望会议本身有很多问题,最重要的是它没有规模

请在此处阅读有关在ASP.NET中执行身份验证权限的详细信息:


应用程序池将重新启动,会话状态将丢失。假设每个ASP.NET应用程序(如IIS中定义的)都是桌面上的一个程序。保存web.config将执行类似于关闭程序并重新打开它的操作

您可以使用Outproc会话状态管理(例如:Sql Server)