在 IIS 上部署 ASP.NET Core Web API 和 Blazor Wasm
前言
前段时间我们完成了七天.NET 8 操作 SQLite 入门到实战的开发系列教程,有不少同学留言问如何将项目发布部署到 IIS 上面运行。本篇文章我们就一起来讲讲在 IIS 上部署 ASP.NET Core Web API 和 Blazor Wasm。
前提条件
安装.NET Core SDK
https://dotnet.microsoft.com/zh-cn/download/dotnet/8.0
IIS Web 服务器安装配置
Internet Information Services (IIS) 是一种灵活、安全且可管理的 Web 服务器,用于托管 Web 应用(包括 ASP.NET Core)。
Windows10 IIS Web 服务器安装配置详细教程:https://mp.weixin.qq.com/s/oaqypmpHOTLA9_5sF6-W7Q
安装 .NET Core 托管捆绑包
安装 .NET Core 托管捆绑包(Hosting Bundle)在将 .NET Core 应用程序部署到 IIS 时是一个必要的步骤。托管捆绑包包含了多项关键组件,这些组件确保 .NET Core 应用程序可以在 IIS 上正确运行。
https://dotnet.microsoft.com/en-us/download/dotnet/thank-you/runtime-aspnetcore-8.0.7-windows-hosting-bundle-installer
安装 URL 重写模块
重写 URL 必须使用 URL 重写模块。 此模块默认不安装,且不适用于安装为 Web 服务器 (IIS) 角色服务功能。 必须从 IIS 网站下载该模块。
如果没有安装 URL 重写模块,Blazor 应用部署 IIS 会打不开页面:
URL 重写模块下载页:https://www.iis.net/downloads/microsoft/url-rewrite#additionalDownloads
重新打开 IIS,即可看到,安装成功:
七天.NET 8 操作 SQLite 入门到实战详细教程
EasySQLite 项目源码地址
ASP.NET Core Web API 发布部署
使用 VS2022 发布 WebApi 项目
WebApi 项目部署 IIS
IIS 部署好会后访问地址提示找不到 localhost 的网页:
因为发布后运行的环境属于
Production环境。
http://localhost:8899/swagger/index.html
在发布成功的项目路径中找到web.config文件,添加如下配置:
在生产环境中展示 Swagger 通常是不推荐的,因为它可能会暴露你的 API 文档,增加安全风险。
你也可以直接修改这个 Development 环境下的过滤:
重新启用 IIS 项目,访问成功:
Blazor Wasm 发布部署
使用 VS2022 发布 WebUI 项目
WebUI 项目部署 IIS
参考文章
https://learn.microsoft.com/zh-cn/aspnet/core/tutorials/publish-to-iis?view=aspnetcore-8.0&tabs=visual-studio
https://learn.microsoft.com/zh-cn/aspnet/core/blazor/host-and-deploy/webassembly?view=aspnetcore-8.0#install-the-url-rewrite-module
版权声明: 本文为 InfoQ 作者【追逐时光者】的原创文章。
原文链接:【http://xie.infoq.cn/article/1462047acce6bec9dd3dfbfb0】。文章转载请联系作者。







评论