如果您想在 web.config 中实现 SQL 会话,通常会有一些简单的内容,例如:
<sessionState mode="SQLServer" sqlConnectionString="myConnectionString"/>
但是,如果您想要一个自定义提供程序来执行诸如使用配置生成器隐藏连接字符串之类的操作,您可以编写以下内容:
<sessionState mode="Custom" customProvider="SQLSessionProvider">
<providers>
<add name="SQLSessionProvider" connectionStringName="SQLSessionService" type=""/>
</providers>
</sessionState>
<connectionStrings configBuilders="CS_Environment">
<add name="SQLSessionService" connectionString="Environment_Key_Here" />
</connectionStrings>
问题是我不知道
mode=SQLServer
存在什么类型。在我的搜索中,我看到了 OBDC 会话的示例,其中 type=ObdcSessionStateStore
以及各种其他会话提供程序,但没有一个适用于 SQLServer。
SQLServer 存在哪些会话提供程序类型?
您可以使用此功能并通过 Nuget Package Manager 安装的
type
是
Microsoft.AspNet.SessionState.SqlSessionStateProviderAsync
还应该安装SessionState.SessionStateModule。如果您是第一次将其安装到项目中,它将在您的
<sessionState>
中为您创建一个 web.config
模板。下面是如何使用它的示例:
<connectionStrings configBuilders="CS_Environment">
<add name="SQLSession_Connection" providerName="System.Data.SqlClient" connectionString="SQLSessionProvider-configBuilder_failed" />
</connectionStrings>
<sessionState cookieless="false" regenerateExpiredSessionId="true" mode="Custom" customProvider="SqlSessionStateProviderAsync">
<providers>
<add name="SqlSessionStateProviderAsync" connectionStringName="SQLSession_Connection" type="Microsoft.AspNet.SessionState.SqlSessionStateProviderAsync, Microsoft.AspNet.SessionState.SqlSessionStateProviderAsync, Version=1.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
</providers>
</sessionState>
@8protons,您以前有使用过 Microsoft.AspNet.SessionState.SqlSessionStateProviderAsync 的经验吗?我收到“在应用程序配置中找不到或连接字符串为空”错误 lmk 如果您能提供帮助