Asp.net

我可以在我的 SQL 會話狀態配置中重用現有的連接字元串嗎?

  • January 29, 2015

我在我的應用程序中使用 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>

任何人遲到的 MSDN 文件都指出,對於 sqlConnectionString 屬性,您可以指定完整的連接字元串或現有連接字元串的名稱: https ://msdn.microsoft.com/en-us/library/h6bb9cz9%28v =vs.85%29.aspx (參見 Attributes & Elements 下的 sqlConnectionString)

並不真地。至少不是以不需要更改程式碼或轉換配置文件的直接方式。ASP.NET 中這種不一致的原因是 SQL Server 會話狀態是在 ASP.NET 的原始版本中引入的,而該connectionStrings部分是在 2.0 版中添加的。sessionState標籤設計者不能依賴尚未發明/傳遞的系統。

引用自:https://stackoverflow.com/questions/11445817