内部异常:System.Net.Sockets.SocketException(0x80004005):连接尝试失败,因为连接方在一段时间后没有正确响应,或者由于连接主机无法响应而建立连接失败
背景:此错误来自正在调用的Web服务。当Visual Studio在本地运行时,它可以毫无障碍地工作。当我将此应用程序部署到服务器,点击相同的Web服务时,我收到此错误。
我尝试过:从c#库创建URI而不是使用字符串。取消我的WebClient对象的代理属性。在我的web.config文件中添加一个条目以绕过一些代理内容。
相关代码:
try
{
var uri = ConfigurationManager.AppSettings["MyUrl"] + "apiAction";
using (var httpClient = new WebClient())
{
httpClient.BaseAddress = uri;
httpClient.Headers.Add("content-type", "application/json; charset=utf-8");
var content = new
{
UserAuthorizationToken = userToken
};
var jsonObj = JsonConvert.SerializeObject(content);
var response = httpClient.UploadString(uri, jsonObj);
}
}
有人能指出我正确的方向来解决这个问题吗?提前致谢
编辑(以防止不得不深入评论):
验证网址是否正确。有一些角度函数可以在应用程序的其他位置成功访问此相同的方法。所以,我认为不应该是防火墙问题,但我现在有点迷失,所以我不能自信地说没有。我也可以远程进入这个服务器
答案 0 :(得分:1)
Mason和Dylan Nicholson指出,答案就是防火墙问题。伙计们,我很欣赏这个方向。