我想问一下通过直接将.net core web
项目发布到production IIS
服务器WebDeploy
或Folder
发布配置文件是否保存。
那已经在运行http请求呢?最好先停止IIS网站,更新代码,然后再次启动网站?但是我不知道停止IIS网站是否会等待运行http请求或强制停止它们。默认情况下,发布配置文件是否处理此问题(例如,在IIS进程正在使用文件的文件夹发布配置文件中经常发生这种情况,并且发布操作失败)?
您的发布过程是什么,是否停止了网站实例?
将.net核心项目直接发布到IIS时,将保存配置文件。
发布.net核心应用程序时,Web不在iis中运行,而是使用Kestrel组件作为单独的进程外控制台应用程序运行。AspNetCoreModule在请求周期的早期挂接到IIS管道,将所有流量重定向到以下Core应用程序,并将所有请求转发到Core进程。
请求来自Web并进入内核模式http.sys驱动程序,该驱动程序路由到主端口(80)或SSL端口(443)上的IIS。然后,该请求将通过为应用程序配置的HTTP端口(不是端口80/443)转发到ASP.NET Core应用程序。本质上,IIS充当反向代理,仅将请求转发到在其他端口上运行Kestrel Web服务器的ASP.NET Core Web。
因此,我建议您在发布时停止网站,然后重新启动。应用程序运行时,部署文件夹中的文件被锁定。部署期间无法覆盖锁定的文件。我建议您在发布新网站时使原始应用程序脱机,Microsoft也建议这样做。更多细节可以参考以下文档。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句