Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/278.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在运行时在SQLServer模式下更改sessionState的sqlConnectionString?_C#_.net_Sql Server_Session State_Failover - Fatal编程技术网

C# 如何在运行时在SQLServer模式下更改sessionState的sqlConnectionString?

C# 如何在运行时在SQLServer模式下更改sessionState的sqlConnectionString?,c#,.net,sql-server,session-state,failover,C#,.net,Sql Server,Session State,Failover,我们试图找到一种在运行时更改sessionState的sqlConnectionString(在SQLServer模式下)的方法。我们正在为我们的SQL server实现故障转移,我们希望捕获sessionState何时无法访问我的SQL server,并告诉它故障转移到我的辅助服务器,同时初始化站点范围的故障转移 如果我不清楚,请随时问我更多细节。(顺便说一句,我们使用的是C#) 编辑:可以肯定的是,我说的是会话状态,而不是常规的sql server连接 我当前的web.config是这样构建

我们试图找到一种在运行时更改sessionState的sqlConnectionString(在SQLServer模式下)的方法。我们正在为我们的SQL server实现故障转移,我们希望捕获sessionState何时无法访问我的SQL server,并告诉它故障转移到我的辅助服务器,同时初始化站点范围的故障转移

如果我不清楚,请随时问我更多细节。(顺便说一句,我们使用的是C#)

编辑:可以肯定的是,我说的是会话状态,而不是常规的sql server连接

我当前的web.config是这样构建的:

<configuration>
    [...]   
<system.web>
    [...]
    <sessionState mode="SQLServer" timeout="525600" sqlConnectionString="Data Source=localhost\SQLEXPRESS;User ID=myUser;password=myPassword" cookieless="false"/>
</system.web>
[...]
</configuration>

[...]   
[...]
[...]

希望这有帮助。

根据您管理连接的方式,您可以在SQL server连接字符串中指定镜像服务器的故障切换伙伴:

Data Source=myServerAddress;
Failover Partner=myMirrorServerAddress;
Initial Catalog=myDataBase;
Integrated Security=True;

(from)

根据我阅读的内容,您可以创建一个
分区解析类型
,以便在运行时控制连接字符串。我还没有验证它,但我目前正在寻找对连接字符串的相同控制,这看起来可能会起到作用。

解决方案是使用PartitionResolver:System.Web.IPartitionResolver和公共方法public string resolveption(对象键),该方法将返回适当的连接字符串。