簡體   English   中英

.Net 核心應用程序與 EXE 一起運行但不在 IIS 上運行

[英].Net core app runs with EXE but does not run on IIS

我有一個在本地運行良好的 .Net Core 6 應用程序,當我手動啟動發布文件夾中的 exe 時它也運行良好。

但是,當我在 IIS 上運行時,它會出現以下錯誤。

在此處輸入圖像描述

該服務器是 AWS EC2 服務器,我將所有端口打開作為防火牆上的傳入測試,我還嘗試完全禁用防火牆並允許應用程序通過防火牆。 據我所知,EC2 實例上沒有 AV。

我添加了 .net 核心 6 運行時,我還安裝了 .NET 核心托管包,可在此處找到:

https://do.net.microsoft.com/en-us/download/do.net/6.0

當我檢查事件查看器日志時,我收到此錯誤消息:

應用程序:WebApi.exe
CoreCLR 版本:6.0.222.6406
.NET 版本:6.0.2
說明:進程因未處理的異常而終止。
異常信息:System.IO.IOException:無法綁定到地址 http://localhost:4000。

System.AggregateException:發生一個或多個錯誤。 (試圖以其訪問權限禁止的方式訪問套接字。)(試圖以其訪問權限禁止的方式訪問套接字。)

System.Net.Sockets.SocketException (10013):嘗試以訪問權限禁止的方式訪問套接字。

在 System.Net.Sockets.Socket.UpdateStatusAfterSocketErrorAndThrowException(SocketError 錯誤,String callerName)
在 System.Net.Sockets.Socket.DoBind(EndPoint endPointSnapshot,SocketAddress socketAddress)
在 System.Net.Sockets.Socket.Bind(EndPoint localEP)
在 Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets.SocketTransportOptions.CreateDefaultBoundListenSocket(EndPoint 端點)在 Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Infrastructure.TransportManager.BindAsync(EndPoint 端點,ConnectionDelegate connectionDelegate,EndpointConfig endpointConfig,CancellationToken cancellationToken)在 Microsoft.AspNetCore.Server.Kestrel .Core.KestrelServerImpl.<>c__DisplayClass30_0`1.<g__OnBind|0>d.MoveNext() --- 上一位置的堆棧跟蹤結束 --- 在 Microsoft.AspNetCore.Server.Kestrel.Core.Internal.AddressBinder.BindEndpointAsync (ListenOptions 終結點、AddressBindContext 上下文、CancellationToken cancellationToken)位於 Microsoft.AspNetCore.Server.Kestrel.Core.LocalhostList enOptions.BindAsync(AddressBindContext context, CancellationToken cancellationToken) --- 內部異常堆棧跟蹤結束 ---

我讀過舊版本的 .NetCore 上有一個設置指定使用 IIS,但我看不到 .Net Core 6 的設置。

我正在拔頭發試圖找出問題所在。

這是我自己運行 exe 時顯示的內容,這是正確的。

在此處輸入圖像描述

我終於找到了原因。

這是由於我的 program.cs 文件底部有這一行:

app.Run("http://localhost:4000");

我將其更改為以下內容並將端口更改為 IIS 上的 5000 並且一切都開始工作

app.Run();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM