.NET Core Azure Web App试图以其访问权限所禁止的方式访问套接字
我有一个多项目解决方案,在本地“启动而不调试”中运行得非常好 将.NET Core多项目解决方案发布到Azure Web应用程序后,第一个http客户端安装程序将失败,并产生以下错误- 试图以其所禁止的方式访问插座 访问权限 对解决方案中某个web api的调用.NET Core Azure Web App试图以其访问权限所禁止的方式访问套接字,azure,asp.net-core,.net-core,azure-web-app-service,asp.net-core-webapi,Azure,Asp.net Core,.net Core,Azure Web App Service,Asp.net Core Webapi,我有一个多项目解决方案,在本地“启动而不调试”中运行得非常好 将.NET Core多项目解决方案发布到Azure Web应用程序后,第一个http客户端安装程序将失败,并产生以下错误- 试图以其所禁止的方式访问插座 访问权限 对解决方案中某个web api的调用 httpClient = new HttpClient { BaseAddress = new Uri("https://localhost:44311/api/")
httpClient = new HttpClient
{
BaseAddress = new Uri("https://localhost:44311/api/")
};
他犯了错误
完整的堆栈如下所示-
> AggregateException: One or more errors occurred. (An attempt was made to access a socket in a way forbidden by its access permissions)
System.Threading.Tasks.Task<TResult>.GetResultCore(bool waitCompletionNotification)
System.Threading.Tasks.Task<TResult>.get_Result()
StoreFrontWeb.Controllers.HomeController.Index() in HomeController.cs
Microsoft.AspNetCore.Mvc.Internal.ActionMethodExecutor+TaskOfIActionResultExecutor.Execute(IActionResultTypeMapper mapper, ObjectMethodExecutor executor, object controller, object[] arguments)
System.Threading.Tasks.ValueTask<TResult>.get_Result()
Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker.InvokeActionMethodAsync()
Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker.InvokeNextActionFilterAsync()
Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker.Rethrow(ActionExecutedContext context)
Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker.Next(ref State next, ref Scope scope, ref object state, ref bool isCompleted)
Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker.InvokeInnerFilterAsync()
Microsoft.AspNetCore.Mvc.Internal.ResourceInvoker.InvokeNextResourceFilter()
Microsoft.AspNetCore.Mvc.Internal.ResourceInvoker.Rethrow(ResourceExecutedContext context)
Microsoft.AspNetCore.Mvc.Internal.ResourceInvoker.Next(ref State next, ref Scope scope, ref object state, ref bool isCompleted)
Microsoft.AspNetCore.Mvc.Internal.ResourceInvoker.InvokeFilterPipelineAsync()
Microsoft.AspNetCore.Mvc.Internal.ResourceInvoker.InvokeAsync()
Microsoft.AspNetCore.Routing.EndpointMiddleware.Invoke(HttpContext httpContext)
Microsoft.AspNetCore.Routing.EndpointRoutingMiddleware.Invoke(HttpContext httpContext)
Microsoft.AspNetCore.StaticFiles.StaticFileMiddleware.Invoke(HttpContext context)
Microsoft.AspNetCore.Diagnostics.DeveloperExceptionPageMiddleware.Invoke(HttpContext context)
>AggregateException:发生了一个或多个错误。(试图以其访问权限所禁止的方式访问套接字)
System.Threading.Tasks.Task.GetResultCore(bool waitCompletionNotification)
System.Threading.Tasks.Task.get_Result()
HomeController.cs中的StoreFrontWeb.Controller.HomeController.Index()
Microsoft.AspNetCore.Mvc.Internal.ActionMethodExecutor+TaskOfActionResultExecutor.Execute(IActionResultTypeMapper映射器、ObjectMethodExecutor执行器、对象控制器、对象[]参数)
System.Threading.Tasks.ValueTask.get_Result()
Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker.InvokeActionMethodAsync()
Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker.InvokeNextActionFilterAsync()
Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker.Rethrow(ActionExecutedContext上下文)
Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker.Next(ref状态Next、ref范围、ref对象状态、ref bool已完成)
Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker.InvokeInnerFilterAsync()
Microsoft.AspNetCore.Mvc.Internal.ResourceInvoker.InvokeNextResourceFilter()
Microsoft.AspNetCore.Mvc.Internal.ResourceInvoker.Rethrow(ResourceExecutedContext)
Microsoft.AspNetCore.Mvc.Internal.ResourceInvoker.Next(ref State Next、ref Scope Scope、ref object State、ref bool isCompleted)
Microsoft.AspNetCore.Mvc.Internal.ResourceInvoker.InvokeFilterPipelineAsync()
Microsoft.AspNetCore.Mvc.Internal.ResourceInvoker.InvokeAsync()
Microsoft.AspNetCore.Routing.EndpointMiddleware.Invoke(HttpContext HttpContext)
Microsoft.AspNetCore.Routing.EndpointRoutingMiddleware.Invoke(HttpContext HttpContext)
Microsoft.AspNetCore.StaticFiles.StaticFileMiddleware.Invoke(HttpContext上下文)
Microsoft.AspNetCore.Diagnostics.DeveloperExceptionPageMiddleware.Invoke(HttpContext上下文)
真的很感激有什么建议吗?@juunas是对的。从官方文件: 通过internet访问应用程序的唯一方法是 通过已经公开的HTTP(80)和HTTPS(443)TCP端口; 应用程序可能无法在其他端口上侦听来自的数据包 互联网。但是,应用程序可能会创建一个套接字,该套接字可以 从沙盒中侦听连接。例如,两个 同一应用程序中的进程可以通过TCP相互通信 插座;从沙箱外部传入的连接尝试,尽管 它们在同一台机器上,将失败。有关详细信息,请参见下一主题 其他细节
好吧,你不能在Azure应用服务的
localhost:44311
上托管API。此URL很可能类似于https://appname.azurewebsites.net/api/
?