怎么把WebApi接口部署到IIS
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了怎么把WebApi接口部署到IIS相关的知识,希望对你有一定的参考价值。
参考技术A 正常部署,不行的话在项目上右键,有个发布选项,先发布再部署一下试试 让他支持put和delete就好了怎么把WebApi接口部署到IIS本回答被提问者采纳 参考技术B 正常部署,不行的话在项目上右键,有个发布选项,先发布再部署一下试试 让他支持put和delete就好了在 IIS 上部署 .Net Core WebAPI 项目
【中文标题】在 IIS 上部署 .Net Core WebAPI 项目【英文标题】:Deploying .Net Core WebAPI project on IIS 【发布时间】:2016-09-26 13:15:56 【问题描述】:我使用 .Net Core 创建了一个简单的 Web API,并尝试将其发布到 IIS。但是获得 HTTP 500。
我关注了https://docs.asp.net/en/latest/publishing/iis.html 文章,并做了其中提到的任何事情。
我只安装了https://www.microsoft.com/net/download
DotNetCore.1.0.1-WindowsHosting.exe OPT_INSTALL_REDIST=0
注意:我能够成功部署和访问 MVC 应用程序,但无法使用相同的步骤访问 WebAPI 应用程序。
在 IIS 日志中,我看到以下错误。
无法使用命令行“dotnet”.\Project-1.dll' 启动进程,错误代码 = '0x80070002'。
我正在使用 Visual Studio 2015 中提供的默认 Web api 模板
我错过了什么。 WebAPI 部署与 MVC 应用部署 w.r.t .net 核心不同吗?
【问题讨论】:
您能给我们提供更多信息吗?您是只针对 .NET Standard,还是使用特定于平台的代码? Web API 和 MVC 并没有像过去那样在 .NET Core 中分离,因此这不太可能成为症结所在。您的 MVC 应用和 Web API 的应用池是否相同? 我的目标是 .NetCore App 1.0.1。我正在使用带有not managed
设置的相同应用程序池。我正在使用 Visual Studio 提供的基本 WebAPI 模板。我认为你可以复制它。
最后一个问题,那我看看能不能在本地为我实现:如果你检查你的 IIS 日志,有没有相关的细节?这个错误代码有点笼统。
我得到了与我在问题中更新的相同的错误代码。我认为这可能与在 IIS 上安装 .net core 有关。我可以在本地部署它,但不能在服务器上。
好的,这就是我所需要的(如果可行,我们会将其移至答案,以便其他人更容易看到)。首先,检查您的系统(不是用户)PATH 变量以确保安装程序将 dotnet 添加到您的路径中。如果没有,请添加它。无论哪种方式,IIS 在运行时都不会选择它。进入服务并重新启动 Windows Process Activation Service。这将重新启动所有 IIS 位并让它更新路径。
【参考方案1】:
安装 .NET Core Windows Server Hosting 捆绑包时,如果 IIS 当前正在运行,它不会重新启动所有 IIS 进程。这是一件好事,因为在生产服务器上您不希望它们只是重新启动,但如果它更清晰一点会很好。首先,检查您的系统(不是用户)PATH 变量以确保 Dotnet 的路径存在。然后,进入服务并重新启动 Windows Process Activation Service。这将重新启动所有 IIS 位并让它更新路径。完成此操作后,IIS 应该可以很好地为您的 .NET Core 应用程序提供服务。
【讨论】:
以上是关于怎么把WebApi接口部署到IIS的主要内容,如果未能解决你的问题,请参考以下文章