无法连接到远程服务器WebClient

时间:2017-12-15 19:42:43

标签: c# web-services webclient

内部异常: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);

                }
            }

有人能指出我正确的方向来解决这个问题吗?提前致谢

编辑(以防止不得不深入评论):

验证网址是否正确。有一些角度函数可以在应用程序的其他位置成功访问此相同的方法。所以,我认为不应该是防火墙问题,但我现在有点迷失,所以我不能自信地说没有。我也可以远程进入这个服务器

1 个答案:

答案 0 :(得分:1)

Mason和Dylan Nicholson指出,答案就是防火墙问题。伙计们,我很欣赏这个方向。