【问题标题】:How to deploy .net core web API as a virtual directory如何将 .net 核心 Web API 部署为虚拟目录
【发布时间】:2020-11-23 06:14:07
【问题描述】:

我在 IIS 中有一个带有 .net 框架 4.5 的 asp .net 网站。现在我想将 .net core web API 作为虚拟目录添加到这个 asp .net 网站。

如何做到这一点?我在尝试访问控制器时收到 500 个内部服务器错误。

【问题讨论】:

标签: asp.net iis asp.net-core-3.1


【解决方案1】:

首先代替 iis 中的主机 .net 核心站点作为虚拟目录主机作为应用程序。因为 .net 核心站点在 iis 中不使用托管代码应用程序池,而 .net 框架站点使用 .net clr 4.0 版。

您可以按照以下步骤在 iis 中托管 .net 核心站点:

1)从 Visual Studio 中将网站发布为文件夹。

2)确保下载并安装 .net 核心托管包和运行时。

https://dotnet.microsoft.com/download/dotnet-core/3.1

根据您的版本注意下载。

3) 右键单击​​您的站点,然后单击添加应用程序。设置您从 Visual Studio 发布网站的文件夹路径。

4) 确保 Application Pool > Process Model > Identity 设置为 ApplicationPoolIdentity 或者您的自定义身份具有访问应用程序部署文件夹的正确权限。

5) 创建一个新的应用程序池。将应用程序池 .NET CLR 版本设置为无托管代码:

从应用程序高级设置修改应用程序池。

现在您可以浏览该网站了。

iis中的文件夹结构:

【讨论】:

  • ..感谢您的详细回答。我有一个问题。将 .net core web api 托管为虚拟目录不可行?是否有任何特定原因将其部署为子应用程序而不是虚拟目录?
  • @Developer 主机作为应用程序。因为 .net 核心站点在 iis 中不使用托管代码应用程序池,而 .net 框架站点使用 .net clr 版本 4.0。如果您托管,则不能设置不同的应用程序池.net 核心站点作为 iis 中的虚拟目录。
猜你喜欢
  • 1970-01-01
  • 2023-04-04
  • 1970-01-01
  • 2019-10-20
  • 2013-04-15
  • 2018-08-21
  • 2019-10-25
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多