首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ASP.NET会话状态InProc

ASP.NET会话状态InProc
EN

Stack Overflow用户
提问于 2013-07-18 00:24:35
回答 1查看 4.9K关注 0票数 4

为什么在Visual Studio2012中创建ASP.NET 4.5Web Forms项目在默认情况下在web.config中包含以下内容:

代码语言:javascript
复制
...
<connectionStrings>
  <add name="DefaultConnection" providerName="System.Data.SqlClient" connectionString="Data Source=(LocalDb)\v11.0;Initial Catalog=aspnet-Project.Web-20130625130806;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|\aspnet-Project.Web-20130625130806.mdf" />
</connectionStrings>
...
<sessionState mode="InProc" customProvider="DefaultSessionProvider">
  <providers>
    <add name="DefaultSessionProvider" type="System.Web.Providers.DefaultSessionStateProvider, System.Web.Providers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" connectionStringName="DefaultConnection" />
  </providers>
</sessionState>
...

(我的问题不是什么是LocalDb,也不是为什么会有示例连接字符串)

它说InProc意味着会话状态存储在内存中。既然已经声明了InProc,为什么还要指定连接字符串呢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-07-18 04:02:36

上面的<SessionState>部分显示的<ConnectionStrings>部分与sessionState没有任何连接。ConnectionStrings部分用于其他目的,例如当您有自己的数据库时,您需要连接到它,以及此部分仅包含用于MemberShip,配置文件等的数据库的详细信息。

<sessionState >元素有自己的设置,用于指定名为:sqlConnectionString的连接字符串,如下所示:

代码语言:javascript
复制
<sessionState mode="Off|InProc|StateServer|SQLServer"
              cookieless="true|false"
              timeout="number of minutes"
              stateConnectionString="tcpip=server:port"
              sqlConnectionString="sql connection string"
              stateNetworkTimeout="number of seconds"/>

现在,当您使用mode="InProc“时,则不需要设置sqlConnectionString设置。即使设置了,它也不会被使用,因为模式是"InProc“而不是”SQLServer“

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17705238

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档