【问题标题】:one click publishing a web application without restarting it一键发布 Web 应用程序而无需重新启动它
【发布时间】:2011-03-22 16:24:29
【问题描述】:

我在一台 Windows 2008 机器上安装了 Web Deployment 服务,开始在 VS2010 中使用一键发布,它可以工作。

有一个小故障,即使我更改了仅查看文件(如未编译的 *.cshtml razor 文件),网站也会重新启动。因此用户会话丢失。 也许我错过了一些如此微不足道的东西,因为它只知道上传更改。

有谁知道一键发布是否可以防止重启? 如果没有,欢迎提出建议^_^

【问题讨论】:

    标签: asp.net visual-studio-2010 msdeploy


    【解决方案1】:

    只要 web.config 文件或任何二进制文件发生更改,应用程序就会重新启动。您可能正在上传 web.config 文件,即使它在技术上没有更改,IIS 也会看到该文件已被写入,因此它认为是更改。

    我对网络部署服务不是很熟悉,所以我不确定是否可以避免上传某些文件(即 web.config 文件)。但是另一种解决方案是将您的会话移动到 SQL 服务器,这将允许它们在应用程序重新启动后继续存在。 (当然,这可能有点矫枉过正)

    【讨论】:

    • 我认为无论如何都不会发送配置文件,除非无论任何更改都执行配置 xml 转换时出现问题。
    • 我需要会话,只是为了避免每次都使用数据库。
    【解决方案2】:

    您遇到的问题是您使用 InProc 作为 SessionMode。

    我建议您阅读 MSDN 中有关 SessionMode 主题的内容,并评估哪种 SessionMode 是您的最佳选择。 (我认为除了 InProc 之外,最简单的方法是 StateServer)

    【讨论】:

    • 感谢您的建议,本地状态服务器确实可以解决用户会话问题。然而,真正的问题是没有必要重新启动网站。
    • @orca:确定您使用的是 Web 应用程序项目而不是网站项目?就像 Coding Gorril 所说,更改任何不是 web.config 或二进制文件的东西都不会影响重新编译。
    • 不是相反吗?不过,这是一个 Web 应用程序项目,我通常需要在视图中更改几行 javascript。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-03-01
    • 1970-01-01
    • 2017-12-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多