V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
azev
V2EX  ›  问与答

在 IIS 里部署 asp.net core 的站点

  •  
  •   azev · 2018-07-06 09:55:30 +08:00 · 985 次点击
    这是一个创建于 2157 天前的主题,其中的信息可能已经有所发展或是发生改变。
    其中 iis 是如何实现反向代理的?

    以往说起 iis 里的反向代理 都会说要安装 arr
    但是到了 asp.net core
    只会说 iis 实现了到 kestrel 的反向代理
    那其中是怎么实现的呢 不是 arr? 能借用来代替 arr 吗?
    4 条回复    2018-07-06 12:40:40 +08:00
    picture2200
        1
    picture2200  
       2018-07-06 10:22:48 +08:00 via Android
    普通的代理是需要用到 Urlrewrite + arr。

    asp.net core 是使用 aspnetcore.dll 实现转发请求,这个 module 是 native 的,具体可以去看 server 的 applicationhost.config 配置。

    部署到 IIS 的时候 webconfig 指定了 ASPnetcore module 参数,直接将请求转给 dotnet 进程。如果要分离部署还是使用 Urlrewrite + arr。

    部署在 IIS 有一个问题就是无法像以前一样热部署,必须先 recycle 然后再部署,而这两个手动操作不够快。这个问题可能会导致紧急 bug 无法快速修复。所以我还是升级到了.net 4.7.2。
    azev
        2
    azev  
    OP
       2018-07-06 11:15:15 +08:00
    @picture2200 多谢
    嗯 关键是有个 web.config 指定了 ASP.NET Core Module
    这个东西做了反向代理的工作 只是这个还代替不了 arr
    azev
        3
    azev  
    OP
       2018-07-06 11:20:03 +08:00
    @picture2200
    关于热部署
    我看有个 offline.htm 机制
    不知道能不能满足你的需求?
    picture2200
        4
    picture2200  
       2018-07-06 12:40:40 +08:00 via Android
    @azev 系统已经 offline 功能,只有在重大更新才能这样,而且要提前一年规划好来年的日期,不然就要被拉上去开会。

    如果用.net core, 我就要一台下线部署一台,碰到数据库更新,可麻烦了。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1648 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 32ms · UTC 16:49 · PVG 00:49 · LAX 09:49 · JFK 12:49
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.