6

我在我的应用程序中使用 SQL 会话状态,但是鉴于我们已经有多个连接字符串,如果所有连接字符串都保存在<connectionStrings>.

我的问题是,是否有可能以某种方式在配置中指定现有的连接字符串sessionState

   <connectionStrings>
        <add name="ConnString1" connectionString="data source=xx;Initial Catalog=zzz;"  
             providerName="System.Data.SqlClient" />
        <add name="EFConnString" 
             connectionString="metadata=res://*/EF.csdl|res://*/EF.ssdl|res://*/EF.msl;provider=System.Data.SqlClient;provider connection string=&quot;data source=xxx;initial catalog=yyy;App=EntityFramework&quot;" 
             providerName="System.Data.EntityClient" />
        <add name="SessionStateConn" connectionString="data source=xx;Initial Catalog=zzz;"  
             providerName="System.Data.SqlClient" />
  </connectionStrings>
  <system.web>
    <sessionState mode="SQLServer" 
                  sqlConnectionString="**SessionStateConn**" 
                  sqlCommandTimeout="30" customProvider="" ... etc
    </sessionState>
4

2 回答 2

8

迟到的任何人 MSDN 文档都指出,对于 sqlConnectionString 属性,您可以指定完整的连接字符串或现有连接字符串的名称: https ://msdn.microsoft.com/en-us/library/h6bb9cz9%28v =vs.85%29.aspx (参见 Attributes & Elements 下的 sqlConnectionString)

于 2015-01-29T08:49:58.073 回答
4

并不真地。至少不是以不需要更改代码或转换配置文件的直接方式。ASP.NET 中这种不一致的原因是 SQL Server 会话状态是在 ASP.NET 的原始版本中引入的,而该connectionStrings部分是在 2.0 版中添加的。sessionState标签设计者不能依赖尚未发明/交付的系统。

于 2012-07-12T06:04:23.547 回答