2017-10-05 103 views
1

当调用从我们的生产服务器中的一个我servicestack API,使用我们的web应用程序,我得到这个异常:一个现有的连接被强行远程主机在生产环境中关闭

IOException异常:无法读取数据传输连接:现有连接被远程主机强制关闭。

这只有当我拨打服务throught我的网站,使用ServiceStack JsonServiceClient

这里是服务客户端的代码发生:

 var client = this.GetJsonServiceClient(); 

     client.Timeout = TimeSpan.FromMinutes(30); 

     var result = client.Post<TotalRedeemsFindResponse>(request); 

     return result; 

这是我发现:

  1. 如果我直接从浏览器调用服务的URL,在与网站相同的服务器上,它返回正确的响应
  2. 如果我从本地机器调用服务的URL,它将返回正确的响应。
  3. 如果用我的JsonServiceClient(等同于一个在我的生产环境)的本地版本,它返回正确的响应

我出来做什么想法,尝试修复这个问题。你们有没有解决方案让我尝试?

感谢

回答

1

你应该首先检查你的网络流量,看看是否有与HTTP请求,例如任何问题使用Fiddler或像WireShark这样的数据包嗅探器。

你可以尝试的其他东西是使用不同的服务客户端实现。例如如果您使用的是JsonServiceClient,请尝试使用ServiceStack.HttpClient NuGet软件包中的JsonHttpClient以查看是否有所作为。

相关问题