正在运行.netcore 2.2 WebAPI,并且该应用程序运行良好,并返回所有打印机供应商的列表。 printerVendors是PrintersController中作为Windows服务自托管.NET应用程序运行的方法。 当我将API发布到我的Azure资源WebAPI .NET Core时,出现了错误:
“试图以一种其访问权限禁止的方式访问套接字”。
此外,代码指向client.GetAsync或client.PostAsync行。
我试图保留HttpClient的一个实例,但是它解决了问题。谷歌搜索,我看到类似Azure的东西限制了HttpC调用的数量,我需要扩展该限制。我不知道这是否是解决这类问题的新方法
private static HttpClient client = new HttpClient { BaseAddress = new Uri("http://localhost:43634/") };
[HttpGet("GetPrinterVendorslist")]
public async Task<IActionResult> GetPrinterVendorslist()
{
_logger?.LogDebug("'{0}' has been invoked", nameof(GetPrinterVendorslist));
try
{
client.DefaultRequestHeaders.Accept.Clear();
var response = await client.GetAsync("api/printers/GetVendorsList");
var httpContent = response.Content;
var result = await httpContent.ReadAsStringAsync();
var variables = JsonConvert.DeserializeObject(result);
return Ok(variables);
}
catch (Exception ex)
{
_logger?.LogCritical("There was an error on '{0}' invocation: {1}", nameof(GetPrinterVendorslist), ex);
return StatusCode(StatusCodes.Status500InternalServerError, ex.Message);
}
}
答案 0 :(得分:0)
通过在网络配置中添加例外解决了该问题。我也列出了运行我的本地Windows服务的端口。