[英]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.