【问题标题】:Hosting .NET 5 ASP.NET app on Window 10 Pro IIS在 Window 10 Pro IIS 上托管 .NET 5 ASP.NET 应用程序
【发布时间】:2021-04-26 20:27:32
【问题描述】:

我有一个简单、功能强大的 .NET 5.0 控制台应用程序,我试图在本地 Windows 10 Pro 开发机器上托管(用于测试)。

我将应用程序池设置为“无托管代码”和“集成”。 我创建了一个网站,指向我将应用发布到的文件夹。

我的应用程序使用 NLog,当我点击应用程序的 URL 时,我确实看到 NLog 正在正确记录事情。

但我的应用程序无法运行,当我检查 Windows 应用程序事件日志时,我看到:

Source: IIS AspNetCore Module V2
Event ID: 1007
Message: Application '/LM/W3SVC/5/ROOT' with physical root 'C:\Cabinet\Learning\EssApiGateway\Mobile.ApiGatewayPublished\' failed to load coreclr. Exception message:
Managed server didn't initialize after 120000 ms.
File Version: 15.0.21076.5. Description: IIS ASP.NET Core Module V2 Request Handler. 

我已经从这里安装了 .NET Core Hosting Bundle 并重新启动了 IIS: https://dotnet.microsoft.com/download/dotnet/thank-you/runtime-aspnetcore-5.0.5-windows-hosting-bundle-installer

我不能在 Windows 10 Pro IIS 上托管 .NET 5 ASP.NET 控制台应用程序吗?

谢谢,布伦特

【问题讨论】:

  • 这可能是您的项目的问题。建议你先部署一个核心模板项目
  • 叮,我的项目是从模板创建的,是一个非常基础的项目。它是一个 API 网关。我所做的就是安装 Ocelot 17.0 包并对其进行配置。当我在 VS.NET 中运行我的项目时,它运行并正常运行 - 它将传入请求传递给我在 ocelot 配置文件中设置的路由,传递给另一个包含实际 api 的项目。这似乎是 IIS AspNetCoreModule 和 Windows 10 IIS 的问题,因为这是在尝试加载 coreclr 时引发错误的原因。

标签: iis .net-core


【解决方案1】:

我已经解决了这个问题。

在 Program.cs 中,我正在创建一个新的 WebHostBuilder(),并且我正在调用 .UseKestrel()。 当我将其更改为 UseIIS() 时,我的网关项目在由 IIS 托管时可以正常运行和运行。

但是当我使用项目的启动配置文件(我通常如何运行这些类型的项目)在 VS.NET 中运行我的项目时,它会失败并出现以下错误:

'没有注册类型'Microsoft.AspNetCore.Hosting.Server.IServer'的服务。'

但是,如果我在 VS.NET 中使用 IIS Express 启动配置文件运行我的项目,它会再次运行 并且功能正常。

所以我需要对所涉及的组件进行自我教育,以便更好地理解......

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-09-19
    • 2015-02-04
    • 2021-05-12
    • 2021-01-01
    • 2016-06-08
    • 2011-10-22
    • 1970-01-01
    相关资源
    最近更新 更多