如何通过 ServerManager API 以编程方式配置 IIS 日志目标

问题描述 投票:0回答:1

我正在使用

Microsoft.Web.Administration
库来管理 IIS 站点和应用程序池,它效果很好。但是,我需要能够控制事件日志记录的配置方式,以确保某些事件确实生成 ETW 条目。

我正在谈论能够通过代码更改此特定设置(我在此处显示 IIS 管理器的 UI):

在 C# 中通过

ServerManager
执行此操作的正确方法是什么?

c# iis
1个回答
0
投票

以下 C# 代码可以在 IIS 中将

Log Event Destination
设置为
ETW event only

using System;
using System.Text;
using Microsoft.Web.Administration;

internal static class Sample {

    private static void Main() {
        
        using(ServerManager serverManager = new ServerManager()) { 
            Configuration config = serverManager.GetApplicationHostConfiguration();
            
            ConfigurationSection sitesSection = config.GetSection("system.applicationHost/sites");
            
            ConfigurationElement siteDefaultsElement = sitesSection.GetChildElement("siteDefaults");
            
            ConfigurationElement logFileElement = siteDefaultsElement.GetChildElement("logFile");
            logFileElement["logTargetW3C"] = @"ETW";
            
            serverManager.CommitChanges();
        }
    }
}
© www.soinside.com 2019 - 2024. All rights reserved.