繁体   English   中英

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

[英]WCF service doesn't work in multiple server environment

我有下一个架构:

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

负载均衡器是在 AWS 上定制的。 WCF 由 Windows 服务托管。 当只有一个 API 发送请求或两个 API 发送请求并且负载均衡器将两者都重定向到 WCF1(或 WCF2)服务器时,它可以工作。

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

服务器没有提供有意义的回复; 这可能是由合约不匹配、过早的 session 关闭或内部服务器错误引起的。

并且 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)]

我不熟悉负载平衡,配置中似乎缺少某些东西。

有什么想法或建议吗?

谢谢。

AWS 负载均衡器仅允许 HTTP 连接。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM