在IIS上部署你的ASP.NET Core Web Api项目及Swagger

这篇具有很好参考价值的文章主要介绍了在IIS上部署你的ASP.NET Core Web Api项目及Swagger。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1、概述

与ASP.NET时代不同,ASP.NET Core不再是由IIS工作进程(w3wp.exe)托管,而是使用自托管Web服务器(Kestrel)运行,IIS则是作为反向代理的角色转发请求到Kestrel不同端口的ASP.NET Core程序中,随后就将接收到的请求推送至中间件管道中去,处理完你的请求和相关业务逻辑之后再将HTTP响应数据重新回写到IIS中,最终转达到不同的客户端(浏览器,APP,客户端等)。而配置文件和过程都会由些许调整,中间最重要的角色便是AspNetCoreModule,它是其中一个的IIS模块,请求进入到IIS之后便立即由它转发,并迅速重定向到ASP.NET Core项目中,所以这时候我们无需设置应用程序池来托管我们的代码,它只负责转发请求而已。

这里我要做的是将一个asp.net core web api项目部署到iis上,同时包括将swagger也部署到iis,具体是在这篇文章基础上,不明白的先看这个文章。

Asp.net core Web Api 配置swagger中文_hqwest的博客-CSDN博客,

地址:https://blog.csdn.net/hqwest/article/details/129344051

2、安装IIS

在IIS上部署你的ASP.NET Core Web Api项目及Swagger,.Net开发技术,asp.net,服务器,iis,swagger,web api

安装完成,在控制面板--管理工具中可以看到Internet Information Services (IIS)管理器

3、运行环境配置

部署asp.net core web api项目需要安装环境,IIS默认是不支持的,支持环境需要安装net core运行时: dotnet-hosting-5.0.17-win.exe,原因就是前面概述中讲的,.net core项目不是由iis工作进程(w3wp.exe)托管,需要先下载dotnet-hosting-5.0.17-win.exe

下载地址:下载 .NET 5.0 下载 .NET 5.0 (Linux、macOS 和 Windows)

如果你是64位就点X64,如果是32位就点X86,根据你自己系统来选择下载 .NET 5.0 

在IIS上部署你的ASP.NET Core Web Api项目及Swagger,.Net开发技术,asp.net,服务器,iis,swagger,web api

 总之下载的就是这个,因为我的项目框架就是.net5,所以下的就是这个,如果你是.net6或7那就要对应的,总之是与你的项目框架是什么版本有关,要对应起来。在IIS上部署你的ASP.NET Core Web Api项目及Swagger,.Net开发技术,asp.net,服务器,iis,swagger,web api

 然后点击运行安装,然后在IIS工具可以看到

在IIS上部署你的ASP.NET Core Web Api项目及Swagger,.Net开发技术,asp.net,服务器,iis,swagger,web api

在IIS上部署你的ASP.NET Core Web Api项目及Swagger,.Net开发技术,asp.net,服务器,iis,swagger,web api 

 就是这个骚骚骚的东西,害死人,必须要。模块中存在就说明环境已经安装好了,没有的话多重启几下IIS 或者重新再装一次

4、修改项目配置

1、修改launchSettings.json

在IIS上部署你的ASP.NET Core Web Api项目及Swagger,.Net开发技术,asp.net,服务器,iis,swagger,web api

 2、修改startup.cs中的Configure方法

原来是这样的

在IIS上部署你的ASP.NET Core Web Api项目及Swagger,.Net开发技术,asp.net,服务器,iis,swagger,web api

 49行修改成红色框这样的,实际是增加了一行代码c.RoutePrefix = "";这个的意思是去掉路由的前缀。只改49行,其他都不要动。

在IIS上部署你的ASP.NET Core Web Api项目及Swagger,.Net开发技术,asp.net,服务器,iis,swagger,web api

3、修改属性HouseSysWebApplication.xml

在IIS上部署你的ASP.NET Core Web Api项目及Swagger,.Net开发技术,asp.net,服务器,iis,swagger,web api 

 

保存重新生成,启动项目,界面是这样的,地址栏中没有swagger这个地址,这才是正确的,说明在VS上成功了。

在IIS上部署你的ASP.NET Core Web Api项目及Swagger,.Net开发技术,asp.net,服务器,iis,swagger,web api

 4、创建发布的目的

首先在D盘创建目录,D:\website\HouseApp,目录位置随你自己定,这里是D:\website\HouseApp

并选择目录>右键>属性>安全>编辑,也就是要给这个目录添加everyone组的权限

在IIS上部署你的ASP.NET Core Web Api项目及Swagger,.Net开发技术,asp.net,服务器,iis,swagger,web api

 

在IIS上部署你的ASP.NET Core Web Api项目及Swagger,.Net开发技术,asp.net,服务器,iis,swagger,web api

 5、发布项目

项目右键-》发布

在IIS上部署你的ASP.NET Core Web Api项目及Swagger,.Net开发技术,asp.net,服务器,iis,swagger,web api

 发布的位置就是前面创建的目录

在IIS上部署你的ASP.NET Core Web Api项目及Swagger,.Net开发技术,asp.net,服务器,iis,swagger,web api

 完成,开始发布

在IIS上部署你的ASP.NET Core Web Api项目及Swagger,.Net开发技术,asp.net,服务器,iis,swagger,web api

 在IIS上部署你的ASP.NET Core Web Api项目及Swagger,.Net开发技术,asp.net,服务器,iis,swagger,web api

 6、IIS操作

在IIS上部署你的ASP.NET Core Web Api项目及Swagger,.Net开发技术,asp.net,服务器,iis,swagger,web api

 在IIS上部署你的ASP.NET Core Web Api项目及Swagger,.Net开发技术,asp.net,服务器,iis,swagger,web api

 这一步非常重要,重要得屌炸天。

在IIS上部署你的ASP.NET Core Web Api项目及Swagger,.Net开发技术,asp.net,服务器,iis,swagger,web api

 7、修改web.config文件

在IIS上部署你的ASP.NET Core Web Api项目及Swagger,.Net开发技术,asp.net,服务器,iis,swagger,web api

 用VS打开,添加一行内容

原来是这样的

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <location path="." inheritInChildApplications="false">
    <system.webServer>
      <handlers>
        <add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModuleV2" resourceType="Unspecified" />
      </handlers>
      <aspNetCore processPath="dotnet" arguments=".\HouseSysWebApplication.dll" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" hostingModel="inprocess" />
    </system.webServer>
  </location>
</configuration>
<!--ProjectGuid: A8FF705C-E12B-4F1A-87CE-47C8BC7A2C36-->

在IIS上部署你的ASP.NET Core Web Api项目及Swagger,.Net开发技术,asp.net,服务器,iis,swagger,web api

 增加一个内容

<environmentVariables>
          <environmentVariable name="ASPNETCORE_ENVIRONMENT" value="Development" />
 </environmentVariables>

完整的内容是这样的

在IIS上部署你的ASP.NET Core Web Api项目及Swagger,.Net开发技术,asp.net,服务器,iis,swagger,web api

 

<?xml version="1.0" encoding="utf-8"?>
<configuration>
	<location path="." inheritInChildApplications="false">
		<system.webServer>
			<handlers>
				<add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModuleV2" resourceType="Unspecified" />
			</handlers>
			<aspNetCore processPath="dotnet" arguments=".\HouseSysWebApplication.dll" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" hostingModel="inprocess" >
				<environmentVariables>
					<environmentVariable name="ASPNETCORE_ENVIRONMENT" value="Development" />
				</environmentVariables>
			</aspNetCore>
		</system.webServer>
	</location>
</configuration>
<!--ProjectGuid: A8FF705C-E12B-4F1A-87CE-47C8BC7A2C36-->

8、修改网站默认首页

在IIS上部署你的ASP.NET Core Web Api项目及Swagger,.Net开发技术,asp.net,服务器,iis,swagger,web api

 在IIS上部署你的ASP.NET Core Web Api项目及Swagger,.Net开发技术,asp.net,服务器,iis,swagger,web api

 在IIS上部署你的ASP.NET Core Web Api项目及Swagger,.Net开发技术,asp.net,服务器,iis,swagger,web api

 

9、启动网站

在IIS上部署你的ASP.NET Core Web Api项目及Swagger,.Net开发技术,asp.net,服务器,iis,swagger,web api

 在IIS上部署你的ASP.NET Core Web Api项目及Swagger,.Net开发技术,asp.net,服务器,iis,swagger,web api

 点击第一个接口,效果还是很好的

在IIS上部署你的ASP.NET Core Web Api项目及Swagger,.Net开发技术,asp.net,服务器,iis,swagger,web api

 

这才是我们要的,后端写的接口不能只在自己的电脑上,而应该是在局域网的某台服务器上,这样项目成员才能通过浏览器访问接口,重新 上面步骤,同样可以部署在公网上,这样在internet上就可以看到接口文档了,如在IIS上部署你的ASP.NET Core Web Api项目及Swagger,.Net开发技术,asp.net,服务器,iis,swagger,web api

 

在IIS上部署你的ASP.NET Core Web Api项目及Swagger,.Net开发技术,asp.net,服务器,iis,swagger,web api

在IIS上部署你的ASP.NET Core Web Api项目及Swagger,.Net开发技术,asp.net,服务器,iis,swagger,web api

 网上看了很多人的文章,没有一个是管用的,很多是你抄抄我抄抄,一堆复制,根本没有在自己的真实环境中运用实践,误人子弟,再来牛逼一把

在IIS上部署你的ASP.NET Core Web Api项目及Swagger,.Net开发技术,asp.net,服务器,iis,swagger,web api文章来源地址https://www.toymoban.com/news/detail-687925.html

到了这里,关于在IIS上部署你的ASP.NET Core Web Api项目及Swagger的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 课程32:.Net Core Web API部署IIS

    2024年02月04日
    浏览(35)
  • aps.net core 6.0 web API & SwaggerUI & IIS部署

    本文章的流程概述如下: 1、将 asp.net core web API 部署到 IIS 2、将 Swagger UI 设为起始页 3、设置内网穿透,允许其他内网用户访问 web API 我使用的是 VS2022社区版,WebAPI的版本是 .netcore6.0,其他版本可能略有不同,请根据情况适当更改。 创建webapi项目 默认选项即可 运行项目会默

    2024年02月09日
    浏览(40)
  • ASP.NET Core:部署到 IIS

    本文章介绍如何在 IIS 服务器上托管 ASP.NET Core 应用。 在 IIS 服务器上安装 .NET Core 托管捆绑包。 捆绑包可安装 .NET Core 运行时、.NET Core 库和 ASP.NET Core 模块。 该模块允许 ASP.NET Core 应用在 IIS 后面运行。 使用以下链接下载安装程序: 当前 .NET Core 托管捆绑包安装程序(直接下

    2024年02月14日
    浏览(42)
  • 如何将.NET 8.0的ASP.NET Core Web API部署成Windows服务

    前面写了一篇关于将.NET应用转换成Windows服务的方法,其实真正的目的是为了探索如何将Asp.Net Core Web Api 部署成Windows 服务。基于上一篇的基础,只需把创建 WebApplication 的代码放到 BackgroundService 的ExecuteAsync方法中即可。 其中比较重要的一个细节就是需要指定一下配置:    

    2024年01月17日
    浏览(52)
  • ASP.NET Core Web应用程序项目部署流程

    目录 一、准备ASP.NET Core应用程序部署文件 二、环境配置 三、测试 ASP.NET Core Web 应用程序 四、部署后访问失败问题 以下部署流程都是基于Windows服务器环境下进行的。 一、准备ASP.NET Core应用程序部署文件 使用 Visual Studio 开发工具创建 ASP.NET Core 的Web应用程序,利用VS工具发布

    2024年02月05日
    浏览(63)
  • 1.2 .net 8 ASP.NET Core Web API 项目创建之 Hello,World

    上一节演示了如何创建一个新的Web API 项目,并展示了如何运行及测试接口,这节的主要目标是增加一个hello的接口,接口返回内容为“Hello,World!”,在添加接口之前,我们先要对上一节的项目进行分析,只有了解项目的结构,才能知道怎么去添加新的接口和扩展新的功能。

    2024年01月20日
    浏览(45)
  • .net6 core web项目发布部署到IIS,以Windows服务的形式部署启动

    一、修改Program.cs代码,注册为 Windows Service 如果不注册builder.Host.UseWindowsService(); 安装为window服务会启动报错 安装NuGet包 Microsoft.Extensions.Hosting.WindowsServices Program.cs代码 二、发布项目 1、以文件夹形式 2、目标运行时选对应的平台(本Coder是:winx-64) 3、文件夹选项:在发布前删

    2024年02月11日
    浏览(46)
  • asp.net core项目发布到 iis上

            我们都知道与传统asp.net 项目比较,ASP.NET Core则完全不同,它并不是运行在IIS的工作进程中,而是独立运行的。它运行于控制台应用程序之中,控制台中则运行了Kestrel Web服务器组件。Kestrel作为一款.NET Web服务器的实现,它在吞吐量性能方面做了很多工作。它可以

    2024年01月21日
    浏览(50)
  • 详解ASP.NET Core 在 IIS 下的两种部署模式

    KestrelServer最大的优势体现在它的跨平台的能力,如果ASP.NET CORE应用只需要部署在Windows环境下,IIS也是不错的选择。ASP.NET CORE应用针对IIS具有两种部署模式,它们都依赖于一个IIS针对ASP.NET CORE Core的扩展模块。 IIS其实也是按照管道的方式来处理请求的,但是IIS管道和ASP.NET CO

    2024年02月10日
    浏览(51)
  • vue+asp.net Web api前后端分离项目发布部署

    1.前端项目是使用vue脚手架进行创建的。 脚手架版本:@vue/cli 5.0.8 编译器版本:vs code 1.82.2 2.后端是一个asp.net  Core Web API 项目 后端框架版本:.NET 6.0 编译器版本:vs 2022 第一步:在vs code 编译器中的终端窗口输入如下命令,进行前端项目打包。 打包后文件如下所示: 第二步

    2024年02月05日
    浏览(55)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包