.NetCore WebApi运行原理解析
一、Kestrel和反向代理服务器
- 基于.NetCore创建的Web程序,已经内置了托管程序无需在用IIS了,程序内置的托管程序其实就是Kestrel。也就是说无需IIS程序也能正常运行。
- 既然不用在托管在IIS上了,那IIS的作用是什么呢?
在.NetCore项目中IIS经常作为反向代理服务器
在.NetCore之前,Web运行在IIS上都是要选择托管代码CLR版本的,.NetCore之后就无需托管了。
二、.NetCore的跨平台
- .NetCore Web应用的跨平台也得利于Kestrel。
- 不依赖于IIS的托管了,可以很便捷的将代理服务器IIS换成nginx、apache。
三、 启动配置
- 如下图.NetCore的启动配置文件在Properties下的launchSettings.json
下面是launchSettings.json
{
"$schema": "http://json.schemastore.org/launchsettings.json",
"iisSettings": {
//如果需要跨平台,可以将IIS的相关配置删掉
"windowsAuthentication": false,
"anonymousAuthentication":