WCF服务在多服务器环境中不起作用

时间:2016-08-10 08:58:45

标签: c# wcf amazon-ec2 windows-services load-balancing

我有下一个架构:

http://i.stack.imgur.com/ZLvR0.png

负载均衡器在AWS上自定义。 WCF由Windows服务托管。 只有一个API发送请求或两个API发送请求并且Load Balancer重定向到WCF1(或WCF2)服务器时,它才有效。

当API1和API2同时发送请求时,WCF1返回错误响应:

  

服务器未提供有意义的回复;这可能是造成的   合同不匹配,过早会话关闭或内部   服务器错误。

并且WCF2返回错误的响应:

  

套接字连接已中止。这可能是由错误引起的   处理您的消息或超过接收超时   远程主机或底层网络资源问题。本地套接字   超时为'00:59:59.7299730'。

端点配置:

var netTcpBinding = new NetTcpBinding
{                
    ReceiveTimeout = TimeSpan.FromDays(1f),
    MaxBufferSize = 52428800,
    MaxReceivedMessageSize = 52428800,
    SendTimeout = TimeSpan.FromHours(1),
    Security = new NetTcpSecurity()
    {
        Mode = SecurityMode.None,
        Message = new MessageSecurityOverTcp()
        {
            ClientCredentialType = MessageCredentialType.None
        },
            Transport = new TcpTransportSecurity()
            {
                ProtectionLevel = System.Net.Security.ProtectionLevel.None,
                ClientCredentialType = TcpClientCredentialType.None,
            }
        }
 };

端点地址:

net.tcp://LoadBalancerHost:port/ServiceName;

WCF配置:

[ServiceBehavior(ConcurrencyMode = ConcurrencyMode.Multiple, InstanceContextMode = InstanceContextMode.Single, 
IncludeExceptionDetailInFaults = true)]

我对Load Balancing不熟悉,似乎配置中缺少某些东西。

有任何想法或建议吗?

感谢。

0 个答案:

没有答案