我正在使用Microsoft.Web.RedisSessionStateProvider
在Redis上存储会话信息。
配置文件在下面
<!--
<add name="MySessionStateStore"
host = "127.0.0.1" [String]
port = "" [number]
accessKey = "" [String]
ssl = "false" [true|false]
throwOnError = "true" [true|false]
retryTimeoutInMilliseconds = "5000" [number]
databaseId = "0" [number]
applicationName = "" [String]
connectionTimeoutInMilliseconds = "5000" [number]
operationTimeoutInMilliseconds = "1000" [number]
connectionString = "<Valid StackExchange.Redis connection string>" [String]
loggingClassName = "<Assembly qualified class name that contains logging method specified below>" [String]
loggingMethodName = "<Logging method should be defined in loggingClass. It should be public, static, does not take any parameters and should have a return type of System.IO.TextWriter.>" [String]
/>
我能够读取集群上的写会话信息。
我的群集具有多个IP 3节点群集,其中一个主节点和另一个子节点。
我无法在Web配置文件中指定其他IP来处理故障转移情况。
假设我有一个群集,该群集具有172.29.10.11、172.29.10.12、172.29.10.13,其中172.29.10.11是我的主要节点,所以我将此IP放在了web.config文件中
host = "172.29.10.11"
现在,如果发生故障,.12或.13都将成为我的主要节点。
我该如何处理故障转移情况。
答案 0 :(得分:0)
我找到了解决方案。如果有人遇到类似问题,我会在这里发布。
有两个参数可以指定IP:
我使用连接字符串,需要指定所有属性值,例如
<add name="MySessionStateStore" applicationName = "testapp"
type="Microsoft.Web.Redis.RedisSessionStateProvider"
connectionString ="172.29.10.11:6379,172.29.10.12:6379,172.29.10.13:6379,ssl=false,abortConnect=False" />