ASP中的SQL Server会话状态管理,网络框架

wbrvyc0a  于 2023-05-02  发布在  .NET
关注(0)|答案(1)|浏览(142)

我已经实现了SQL Server会话状态在我的ASP。NET网站使用的解决方案中描述的Microsoft article。解决方案工作正常,但现在我想修改它,以便连接字符串存储在环境变量中,而不是直接在web中指定。配置文件。这样做的原因是我想增强连接字符串的安全性。但是,我没有对Web的写入权限。配置文件。
我研究了使用环境变量配置SQL Server会话状态和连接字符串的各种方法,但还没有找到合适的解决方案。是否有人可以提供指导或分享他们的解决方案,以配置SQL Server会话状态并使用环境变量设置连接字符串,而无需对Web的写入权限。配置文件?
任何帮助或见解将不胜感激。谢谢大家!

r7knjye2

r7knjye21#

一个可能的解决方案是使用ASP.此方法允许您使用环境变量配置连接字符串,而无需修改Web。配置文件。你可以这样做:
将Configuration Builders NuGet包添加到项目中。创建一个实现IConfigurationBuilder接口的新类。此类应使用环境变量来设置连接字符串。在启动。cs文件,将以下代码添加到Configure方法中:

var builder = new ConfigurationBuilder();
builder.AddEnvironmentVariables();
builder.Add(new SqlServerSessionStateConfigurationBuilder());
Configuration = builder.Build();

修改设置SQL Server会话状态的现有代码,以使用从Configuration对象检索的连接字符串:

services.AddDistributedSqlServerCache(options =>
{
    options.ConnectionString = Configuration["SessionState:ConnectionString"];
    options.SchemaName = "dbo";
    options.TableName = "Sessions";
});

注意:确保将“SessionState:ConnectionString”替换为包含连接字符串的环境变量的名称。
通过使用这种方法,您可以通过使用环境变量而不是直接在Web中设置连接字符串来增强应用程序的安全性。配置文件。

相关问题