对WCF客户维护用户会话,同时拨打电话到服务器后面的负载均衡
问题描述:
我的问题是: - 我有一个.net MVC网站制作两个服务器托管的负载平衡服务器落后很多调用WCF服务(BIGIP)。对WCF客户维护用户会话,同时拨打电话到服务器后面的负载均衡
我必须保持对WCF服务的用户会话(通过自定义的令牌控制)。 我的问题是,当很多用户在网站上登录时,粘性会话不起作用(很多并发的服务调用)。
我发现当站点调用服务重用现有连接时,负载均衡服务器忽略粘滞会话cookie,并将请求转发给通过此连接接收呼叫的最后一个服务器。
我检查使用嗅探器(Wireshark的),每个呼叫发送到与正确的粘性会话令牌负载均衡服务器。
当从头开始创建一个连接棒会话cookie是考虑到和请求进入到正确的服务器。
所以,我该怎么处理这种情况? 我正在寻找强制在每次调用时创建新连接的内容,但属性KeepAliveEnabled =“false”不起作用。
Tks。
答
我的问题是解决了使用正确的keepAliveConnection配置框架4. 贝娄是在CONFIGS。
错误的一个
<bindings>
<customBinding>
<binding name="WSHttpBinding_IServiceSessionCreator" keepAliveEnabled="false">
<httpTransport />
</binding>
</customBinding>
</bindings>
正确的
<bindings>
<customBinding>
<binding name="WSHttpBinding_IServiceSessionCreator" >
<textMessageEncoding />
<httpTransport allowCookies="false" keepAliveEnabled="false"/>
</binding>
</customBinding>
</bindings>
我不知道为什么第一个没有工作。 我看到它在这个环节http://msdn.microsoft.com/en-us/library/vstudio/ms730128(v=vs.100).aspx
尽量做到伪无状态的会话数据移动到同步店如数据库或AppFabric的 – TGlatzer 2014-11-05 18:08:20
这是我的解决方法解决方案,但现在我避免这种汇众! – 2014-11-05 18:09:14
请注意,即使机器停机以进行修补,部署或修理,粘性会话也会产生问题。这使得他们大多数时间都是不可行的解决方案。 – usr 2014-11-05 19:16:48