首先,我是Web应用程序编程的新手。我来自桌面应用程序(WinForms和WPF)。 最近,我被分配了一个其他人过去做的项目。该项目是在ASP.NET MVC中完成的,它使用InProc会话状态模式。
现在,我想构建一个网络园艺,即对应用程序池使用多工作进程。我用Google搜索,发现InProc会话不适用于网络园艺,因为应用程序池中的每个工作进程都使用其自己的会话状态。因此,我计划将其切换到另一个会话状态模式,例如State Server或SQL Server。
现在我有一个疑问。除了在Web.config中更改会话状态模式之外:
<configuration>
<system.web>
<sessionState mode="InProc" timeout="25"></sessionState>
</system.web>
</configuration>
...我需要做一些额外的工作吗?例如重新编程ASP.NET MVC应用程序,配置或其他一些东西以使其正常工作?
下面,我分享了一些有趣的链接:
答案 0 :(得分:0)
对于Web场,您应将会话保持在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>