03-IIS部署.NET CORE MVC项目以及接口配置信息修改

部署微信公众号 ASP.NET Core 程序到 IIS 遇到的问题

我们搭建微信公众号程序的时候出现了:

HTTP 错误 500.19 – Internal Server Error

无法访问请求的页面,因为该页的相关配置数据无效。

详细错误信息

模块:IIS Web Core

配置文件:\?\C:\Users\M\Desktop\WeixinCore\web.config

请求的 URL:http://2l1941590s.imwork.net:80/

发现需要给 IIS 安装 AspNetCoreModule 模块。

安装 AspNetCoreModule / .NET Core 托管模块

下载地址:

https://www.microsoft.com/net/download

选择 Run apps – Runtime 2.1.3:

https://www.microsoft.com/net/download/dotnet-core/2.1

Hosting Bundle 下载:

https://download.microsoft.com/download/6/E/B/6EBD972D-2E2F-41EB-9668-F73F5FDDC09C/dotnet-hosting-2.1.3-win.exe

注意你的 .NET Core 版本。

安装完成后重启 IIS 服务器。

配置微信服务器地址

然后我们配置刚才这个地址:

http://xxxxx.imwork.net/home/Common

只有前面那些接口的加密逻辑都正确,才可以验证成功。

在 IIS 上部署 ASP.NET Core 项目

与 ASP.NET 时代不同,ASP.NET Core 不再是由 IIS 工作进程(w3wp.exe)托管,而是使用自托管 Web服务器(Kestrel)运行,IIS 作为反向代理,把请求转发到 Kestrel 监听的端口,再进入中间件管道处理业务,最后把响应写回 IIS,再返回给客户端。

其中最重要的角色是 AspNetCoreModule。请求进入 IIS 后,由它转发到 ASP.NET Core 程序。所以应用程序池不需要托管代码,只负责转发请求。

部署前要确保 IIS 已安装 AspNetCoreModule 托管模块。没装的话下载安装:

https://go.microsoft.com/fwlink/?linkid=844461

安装完后一定要重启,否则可能出现 Http Error 502.5。

应用程序池设置

设置应用程序池的 .NET CLR 版本为“无托管代码”,因为 IIS 只是反向代理,不需要它托管代码。

发布与添加网站

发布:

项目右键 → 发布

添加网站:

添加一个网站,设置名称,把路径指向发布后的文件夹。

设置应用程序池的 .NET CLR 版本为“无托管代码”。

IIS 安装 AspNetCoreModule 模块:

https://www.microsoft.com/net/download/windows

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注