1

我知道到目前为止有几个问题涉及此错误 - 但由于 Azure 上的网络作业,尚未有人生成此错误。

我的代码采用 C# 的形式Console Application。我的代码的主要部分:

HttpClient client = new HttpClient();
var byteArray = Encoding.ASCII.GetBytes("user:password");
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Basic", Convert.ToBase64String(byteArray));
HttpResponseMessage response = await client.GetAsync("http://xx.xx.xx.xxx/cgi-bin/snapshot.cgi?channel=0");
byte[] myBytes = await response.Content.ReadAsByteArrayAsync();
string convertedFromString = Convert.ToBase64String(myBytes);

(上面的代码是方法调用的Main

如果在我的本地机器上执行它就可以了。如果我将此代码添加到应用服务(ASP.Net Core 项目的一部分)使用的 API 方法中,它也可以工作。

但是,当作为 Azure webjob 上传时,我收到此错误:

发送请求时出错。

无法连接到远程服务器

试图以访问权限 xx.xx.xx.xxx:80 禁止的方式访问套接字

关于如何克服这个问题的任何想法?我正在寻找任何可能的解决方案/解决方法。

4

1 回答 1

1

试图以访问权限 xx.xx.xx.xxx:80 禁止的方式访问套接字

根据我的理解,我假设您可能会遇到来自Azure Web App sandbox的传出连接限制。此外,我建议您可以将应用托管计划扩展到更大的实例以缩小此问题。

另外,这里有一些类似的问题,你可以参考他们:

Azure Web 应用程序中的间歇性崩溃

饿死 Windows Azure 网站上的传出连接

于 2017-08-10T03:22:38.520 回答