我知道到目前为止有几个问题涉及此错误 - 但由于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
有关如何解决这个问题的任何想法?我正在寻找任何可能的解决方案/解决方案。
答案 0 :(得分:1)
尝试以其访问权限xx.xx.xx.xxx:80禁止的方式访问套接字
根据我的理解,我假设你可以从Azure Web App sandbox点击传出连接限制。此外,我建议您可以将应用托管计划扩展到更大的实例,以缩小此问题。
此外,这里有一些类似的问题,你可以参考它们: