iis - 在 Window 10 Pro IIS 上托管 .NET 5 ASP.NET 应用程序
问题描述
我有一个简单、功能强大的 .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 控制台应用程序吗?
谢谢,布伦特
解决方案
我已经解决了这个,有点。
在 Program.cs 中,我正在创建一个新的 WebHostBuilder(),并且正在调用 .UseKestrel()。当我将其更改为 UseIIS() 时,我的网关项目在由 IIS 托管时运行并正常运行。
但是当我使用项目的启动配置文件(我通常如何运行这些类型的项目)在 VS.NET 中运行我的项目时,它会失败并出现以下错误:
'没有注册类型'Microsoft.AspNetCore.Hosting.Server.IServer'的服务。'
但是,如果我使用 IIS Express 启动配置文件在 VS.NET 中运行我的项目,它会再次运行并正常运行。
所以我需要对所涉及的组件进行自我教育,以便更好地理解......
推荐阅读
- typescript - 使用未定义的显式返回作为类型保护和/或过滤器?
- qt - 在 Qt 中,forever 关键字有什么实际用途吗?
- javascript - 如何在 Kentico 中为电子邮件模板每三个表格单元格包装一行?
- javascript - 使用名称和坐标传单找到某个地方
- excel - VBA:在 IE 中搜索文本,打开链接,查找行复制文本,在 Excel 中插入
- r - 如何不坚持使用 Sparklyr?
- javascript - Javascript - for 循环中的 Axios。使用当前获取的响应进行下一次获取数据的迭代
- oracle - plsql 中的执行时间跟踪(代码分析)
- java - 使用共享首选项存储未提交的数据
- java - 你可以在没有服务器端的代号中实现自动更新订阅吗