我可以在SQL会话状态配置中重用现有连接字符串吗?

Stu*_*tLC 6 asp.net connection-string web-config session-state

我在我的应用程序中使用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>
Run Code Online (Sandbox Code Playgroud)

小智 8

任何到MSDN文档后期的人都声明,对于sqlConnectionString属性,您可以指定完整的连接字符串或现有连接字符串的名称:https: //msdn.microsoft.com/en-us/library/h6bb9cz9%28v = vs.85%29.aspx (请参阅属性和元素下的sqlConnectionString)


Meh*_*ari 5

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