Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/azure/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.NET Core Azure Web App试图以其访问权限所禁止的方式访问套接字_Azure_Asp.net Core_.net Core_Azure Web App Service_Asp.net Core Webapi - Fatal编程技术网

.NET Core Azure Web App试图以其访问权限所禁止的方式访问套接字

.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/")

我有一个多项目解决方案,在本地“启动而不调试”中运行得非常好

将.NET Core多项目解决方案发布到Azure Web应用程序后,第一个http客户端安装程序将失败,并产生以下错误-

试图以其所禁止的方式访问插座 访问权限

对解决方案中某个web 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/