我在我的应用程序中使用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="data source=xxx;initial catalog=yyy;App=EntityFramework""
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>
答案 0 :(得分:8)
任何进入MSDN文档的人都会声明,对于sqlConnectionString属性,您可以指定完整连接字符串或现有连接字符串的名称: https://msdn.microsoft.com/en-us/library/h6bb9cz9%28v=vs.85%29.aspx (参见Attributes&amp; Elements下的sqlConnectionString)
答案 1 :(得分:5)
不是真的。至少不是以直接的方式不需要更改代码或转换配置文件。 ASP.NET中这种不一致的原因是在原始版本的ASP.NET中引入了SQL Server会话状态,而在版本2.0中添加了connectionStrings
部分。 sessionState
标签设计师不能依赖尚未发明/发布的系统。