首页 置换 选车 估价 问答 生活 经销商 车管所 汽车资讯 汽车销量 车牌查询 今日油价 天气预报
您的位置: 首页 > 生活 > 生活 > 创建一个简单的asp.net项目信息(在IIS上部署你的ASP.NET)
创建一个简单的asp.net项目信息(在IIS上部署你的ASP.NET)
更新时间:2024-07-07 09:47:56
概述

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

部署之前要确保你的IIS上已经安装了AspnetcoreModule托管模块,如果没有的话,点击这里进行下载并安装

创建一个简单的asp.net项目信息(在IIS上部署你的ASP.NET)1

一、安装IIS

1、在控制面板→程序→启用或关闭Windows功能→勾选Internet Information Services以及Web管理工具下的IIS管理控制台

创建一个简单的asp.net项目信息(在IIS上部署你的ASP.NET)2

二、发布项目

1、发布我们上一篇建好的ASP.NET Core API项目,然后选择IIS,新建一项发布配置

创建一个简单的asp.net项目信息(在IIS上部署你的ASP.NET)3

2、发布方法选择文件系统,然后设置一个发布路径

创建一个简单的asp.net项目信息(在IIS上部署你的ASP.NET)4

3、配置文件可以根据你线上、线下的环境进行选择,因为是基于.NET Core,所以目标框架为netcoreapp1.1,然后保存发布即可

创建一个简单的asp.net项目信息(在IIS上部署你的ASP.NET)5

4、当然了,你还可以基于CLI的Publish命令进行发布,只需切换到Light.API根目录下,输入以下命令即可

dotnet publish --framework netcoreapp1.1 --output "E:\Publish" --configuration Release

framework表示目标框架,output表示要发布到的目录文件夹,configuration表示配置文件,等同于和上面我们通过管理器来发布的操作,如图:

创建一个简单的asp.net项目信息(在IIS上部署你的ASP.NET)6

三、在IIS中添加网站

1、添加一个网站,设置一下名称,并将路径指向你刚才发布的文件夹,然后启动网站即可

创建一个简单的asp.net项目信息(在IIS上部署你的ASP.NET)7

2、设置应用程序池的.NET CLR版本为“无托管代码”,因为刚才也说了,IIS是作为一个反向代理的角色,并不需要它来托管代码

创建一个简单的asp.net项目信息(在IIS上部署你的ASP.NET)8

3、OK,大功告成,浏览一下我们的网站。

创建一个简单的asp.net项目信息(在IIS上部署你的ASP.NET)9

此时我的内心是崩溃的,没有任何有用的提示信息,看来只能自己动手查看应用程序的运行日志了

4、设置IIS的日志记录方式为日志文件和ETW事件

创建一个简单的asp.net项目信息(在IIS上部署你的ASP.NET)10

5、重新访问网站,然后打开Windows应用程序日志,你会看到这样一条信息。意思是说你的应用程序已经由PID为3236的进程启动,并且在25636的端口上监听着。

创建一个简单的asp.net项目信息(在IIS上部署你的ASP.NET)11

我打开任务管理器查看了一下,说得很对。应该是一切正常才对啊,那为啥访问网站是404呢。

创建一个简单的asp.net项目信息(在IIS上部署你的ASP.NET)12

纠结了半天,原来是因为网站没有自动重定向到/swagger/ui页面,重新访问:http://192.168.1.105/swagger/ui,你会看到熟悉的画面

创建一个简单的asp.net项目信息(在IIS上部署你的ASP.NET)13

6、最后一点,其实你还可以通过CLI来运行你发布的程序,切换到你发布文件夹下,输入以下命令:

dotnet Light.API.dll

看到这个提示,那么说明你成功了。试着访问一下:http://localhost:5000/swagger/ui

创建一个简单的asp.net项目信息(在IIS上部署你的ASP.NET)14

而此时你再回过头来看任务管理器,那么就会又多了一个dotnet的进程

创建一个简单的asp.net项目信息(在IIS上部署你的ASP.NET)15

写在最后

至此,整个IIS的搭建已经完成,不知道你是否有所收获。接下来不知道把它发布到Linux上,会有什么样的坑。不管怎样,你的每一步,回过头来看,都是值得的!

服务、思考、安全

,
相关推荐RECOMMEND
水盂是干什么用的
水盂是历史悠久的汉族传统工艺品。属于文房第五宝,古时用以给砚池添水。沿用在茶席上,用于盛接泡茶过程中的弃置茶汤、茶渣。近几年,很多茶友用来盛放喝过茶的茶杯,这是一种新的用法。这里主要针对茶席上的水盂做...
芒果的气味影响睡眠吗
芒果里面有一种甘油三酯物质,这种物质浓度高,会影响人体睡眠,让人难以入睡,还会四肢麻木,头晕眼花。人体闻到甘油三酯时,大脑会被刺激,会有饥饿感,所以芒果不适合放在卧室里面,会影响到睡眠。1、芒果,是一...
欧蕾是什么
牛奶。其实我们所讲的欧蕾是法文中的aulait的译音,翻译成中文是“牛奶”的意思。奶茶店中的所谓草莓欧蕾、玫瑰欧蕾、苹果欧蕾奶茶等就是平常喝的奶茶而已,只是做法可能稍有不同,把奶茶起名叫欧蕾,显得比较...
北斗星有什么作用
1、北斗星可以用来指明方向。天上所有的星星都可以指引方向。观察一段时间,这段时间内运动轨迹的中垂线指向南天极或者北天体。通过这样的特点,在迷失方向的时候,可以用来指明方向。2、北斗星在中国风水文化中用...
镜子背面涂层脱落怎么处理
镜子背后是锡涂层,找一根锡丝,烧成锡水后倒在镜子背面,冷却后,镜面背后的涂层就修复完毕了。不论是平面镜或者是非平面镜(凹面镜或凸面镜),光线都会遵守反射定律而被面镜反射,反射光线进入眼中后即可在视网膜...
水能灭火吗
能。水能降低温度、隔绝空气,是一种非常稳定的化合物,轻易不能分解,总之,水不是可燃物,不是助燃物,这样的物质可以用其灭火。1、降低温度:水一触到炽热的物体,就会变成蒸汽,这时候它从炽热的物体上夺取了大...