Azure Webjob:尝试以其访问权限x.x.x.x:80禁止的方式访问套接字

时间:2017-08-09 13:35:16

标签: c# sockets azure azure-webjobs webjob

我知道到目前为止有几个问题涉及此错误 - 但由于Azure上的webjob,没有人生成此错误。

我的代码采用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方法调用)

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

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

  

发送请求时发生错误。

     

无法连接到远程服务器

     

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

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

1 个答案:

答案 0 :(得分:1)

  

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

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

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

Intermittent crashes in Azure Web Application

Starving outgoing connections on Windows Azure Web Sites