.NetCore WebAPI初尝试和部署IIS

.NetCore已经相当熟悉了,在此做一个简单的demo尝试,方便帮助新学习的朋友的,顺便也记录下有些小坑,废话不多说直接上代码,(顺便说下小demo结合了sqlsugar ORM框架从数据库获取了数据)

1、新建一个.net core WebAPI项目

 

 

2、可直接运行,结果如下

 

 

3、接下来我们新建一个API,命名ReplenishLrController

(获取数据逻辑在此不细述,咋们本次主要是聊使用的部署IIS)

 

 

 

 

4、运行结果如下

 

 

 

 

5、发布 WebAPI ,发布的目标是文件

 

 

 

6、IIS常规部署,然后将应用程序池改为无托管模式

 

 

 

就此,是不是以为就结束大功告成了,其实并没有,接下来才是要说的重点,因为会有好几个问题

问题一:报错500.19

 

 这是因为 .NET Core 是自托管的,所以要再 IIS 上面托管 .NET Core 要安装一个.NET Core 托管捆绑包,这个包可以在官网下载

本人装的2.2版本的

 

安装完成之后网站模块会多出core的运行时。如图

 

 问题二:报错404

因为.NetCore 5.0 自带集成了Swagger , 在发布项目时,通常会在代码中限制ASPNETCORE_ENVIRONMENT为Production时关闭Swagger。

解决方法:
项目发布后默认为 Production 生产环境,可修改 web.config 文件,在web.config中添加一下代码(如下图),改成 Development 开发环境就可以访问。

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

 

 

 再次尝试访问,应该就OK了,在此记录下,方便后者参考。

posted @ 2022-01-13 08:55  HI_Hub_MI  阅读(1080)  评论(0编辑  收藏  举报