0

首先,我是 Web 应用程序编程的新手。我来自桌面应用程序(WinForms 和 WPF)。最近,我被分配了一个过去由其他人制作的项目。这个项目是在 ASP.NET MVC 中完成的,它使用 InProc 会话状态模式。

现在,我想构建一个网络园艺,即为应用程序池使用多个工作进程。我用谷歌搜索,发现 InProc 会话不适用于网络园艺,因为应用程序池中的每个工作进程都使用自己的会话状态。所以我打算把它切换到另一种会话状态模式,比如State Server或者SQL Server。

现在我有一个疑问。除了在 Web.config 中更改会话状态模式:

<configuration>  
  <system.web>      
    <sessionState mode="InProc" timeout="25"></sessionState>  
  </system.web>  
</configuration>

... 我需要做一些额外的工作吗?例如重新编程 ASP.NET MVC 应用程序、配置或其他一些东西以使其工作?

下面我分享一些有趣的链接:

4

1 回答 1

0

对于网络农场,您应该将会话保存在 StateServer 或 Sql Server 中。为此,您需要添加以下配置

     <connectionStrings>
           <add name="ConnectionString1" 
           connectionString="Data Source=YourServer;Initial 
           Catalog=SessionDatabase;Integrated Security=True"
           providerName="System.Data.SqlClient" />
    </connectionStrings>



<!--Change your <sessionState mode="InProc" timeout="25"></sessionState>  to this.-->

<sessionState mode="SQLServer" customProvider="DefaultSessionProvider">
  <providers>
    <add name="DefaultSessionProvider" type="System.Web.Providers.DefaultSessionStateProvider, System.Web.Providers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" connectionStringName="ConnectionString1" />
  </providers>

于 2019-05-26T21:50:11.333 回答