【发布时间】:2017-01-25 07:47:28
【问题描述】:
ASP.NET Core 不能直接在 IIS 中运行,因为它需要 Kestrel。
这意味着无法像在传统 ASP.NET 网站中那样在运行时更新网站,因为在更新期间必须关闭 kestrel 服务器。
我想在不添加额外 Web 服务器和负载平衡器的情况下避免停机。是否可以在 IIS 中配置 ASP.NET Core 模块以连接到两个不同的 Kestrel 服务器?那么如果其中一个被关闭,所有请求都会转到另一个?
(我想在磁盘上有两个不同的文件夹:C:\inetpub\wwwroot\mysite_instance1 和 C:\inetpub\wwwroot\mysite_instance2,因此关闭一个将启用该实例的更新)
如果可能,我们需要注意哪些事项?例如,是否需要以某种方式配置防伪令牌? (我不使用会话。)
【问题讨论】:
-
AspNetCoreModule 必须更新以支持此功能,或者您可以编写自己的 IIS 模块来执行此操作,目前不支持此功能。我将把它作为一个问题记录在github.com/aspnet/AspNetCoreModule
标签: c# asp.net iis asp.net-core kestrel-http-server