【问题标题】:Programmatically set IIS preloadEnabled以编程方式设置 IIS preloadEnabled
【发布时间】:2013-07-17 18:54:40
【问题描述】:

是否可以为应用程序初始化设置 preloadEnabled="true"? ServerManager 中 Application 的架构似乎无法识别该属性,因此当我设置以下内容时,不会发生任何更改。

ServerManager serverManager = new ServerManager();
application = serverManager.Sites[0].Applications[0];
application.SetAttributeValue["preloadEnabled"] = "true";
serverManager.CommitChanges();

是否可以通过 ServerManager 或其他方式做到这一点?

一些上下文:http://www.iis.net/learn/get-started/whats-new-in-iis-8/iis-80-application-initialization

【问题讨论】:

  • 我不知道你是否可以在程序本身中做到这一点。我知道您可以从外部以管理员身份运行的 powershell 执行此操作。
  • 近 6 年后,您在 IIS 10 上运行的完全相同的代码似乎可以完美运行。

标签: c# iis-8


【解决方案1】:

有两件事为我解决了这个问题。

1) 使用布尔值代替字符串

application.SetAttributeValue["preloadEnabled"] = true;

2) 先安装应用初始化。

【讨论】:

    【解决方案2】:

    this post

    正如您所提到的,您需要先安装该模块,因为默认情况下它没有为 IIS8 安装。您可以使用 Sandrino Di Mattia 的回答和博客文章中概述的启动任务来执行此操作(请参阅链接)。

    【讨论】:

      【解决方案3】:

      我不知道您是否可以在 ASP 网站本身内部进行操作。我知道您可以通过以管理员身份运行的 power shell 脚本或提升的权限来执行此操作。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-01-10
        • 2021-11-21
        • 2018-11-26
        • 2011-04-18
        • 2012-07-18
        相关资源
        最近更新 更多