Поделиться через


Добавление URL-адресов трассировки <>

Общие сведения

Элемент <add><traceUrls> коллекции добавляет URL-адрес трассировки в коллекцию URL-адресов для трассировки etW.

Примечание

Трассировка событий Windows (ETW) — это высокоскоростное средство трассировки общего назначения, предоставляемое операционной системой. Используя механизм буферизации и ведения журнала, реализованный в ядре, etW предоставляет механизм трассировки событий, вызванных как приложениями в пользовательском режиме, так и драйверами устройств в режиме ядра. Кроме того, etW позволяет включать и отключать ведение журнала динамически, упрощая выполнение подробной трассировки в рабочих средах без необходимости перезагрузки или перезапуска приложения. Механизм ведения журнала использует буферы для каждого процессора, которые записываются на диск потоком асинхронного модуля записи. Это позволяет крупномасштабным серверным приложениям записывать события с минимальными нарушениями.

Совместимость

Версия Примечания
IIS 10.0 Элемент <add> не был изменен в IIS 10.0.
IIS 8,5 Элемент <add> не был изменен в IIS 8.5.
IIS 8,0 Элемент <add> не был изменен в IIS 8.0.
IIS 7,5 Элемент <add> не был изменен в IIS 7.5.
IIS 7.0 Элемент <add> коллекции появился <traceUrls> в IIS 7.0.
IIS 6,0 Н/Д

Настройка

Элемент <traceUrls><httpTracing> коллекции включен в установку iis 7 по умолчанию.

Инструкции

Для элемента IIS 7 отсутствует пользовательский интерфейс <httpTracing> . Примеры программного доступа к элементу <httpTracing> см. в разделе Примеры кода этого документа.

Конфигурация

Атрибуты

Атрибут Описание
Value Обязательный строковый атрибут.

Указывает URL-адрес для трассировки.

Дочерние элементы

Отсутствует.

Образец конфигурации

Следующий пример включает трассировку для примера домашней страницы, которая поставляется с IIS 7 при размещении в файле Web.config в корне веб-сайта по умолчанию.

<configuration>
   <system.webServer>
      <httpTracing>
         <traceUrls>
            <add value="/iisstart.htm" />
         </traceUrls>
      </httpTracing>
   </system.webServer>
</configuration>

Пример кода

Приведенные ниже примеры позволяют выполнить трассировку для примера домашней страницы, которая поставляется с IIS 7 на веб-сайте Contoso, добавив запись в <traceUrls> коллекцию для этого сайта.

AppCmd.exe

appcmd.exe set config "Contoso" -section:system.webServer/httpTracing /+"traceUrls.[value='/iisstart.htm']" /commit:apphost

Примечание

При использовании AppCmd.exe для настройки этих параметров для параметра apphostфиксации необходимо задать значение . Это зафиксирует параметры конфигурации в соответствующем разделе расположения в файле ApplicationHost.config.

C#

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 httpTracingSection = config.GetSection("system.webServer/httpTracing", "Contoso");
         ConfigurationElementCollection traceUrlsCollection = httpTracingSection.GetCollection("traceUrls");

         ConfigurationElement addElement = traceUrlsCollection.CreateElement("add");
         addElement["value"] = @"/iisstart.htm";
         traceUrlsCollection.Add(addElement);

         serverManager.CommitChanges();
      }
   }
}

VB.NET

Imports System
Imports System.Text
Imports Microsoft.Web.Administration

Module Sample
   Sub Main()
      Dim serverManager As ServerManager = New ServerManager
      Dim config As Configuration = serverManager.GetApplicationHostConfiguration
      Dim httpTracingSection As ConfigurationSection = config.GetSection("system.webServer/httpTracing", "Contoso")

      Dim traceUrlsCollection As ConfigurationElementCollection = httpTracingSection.GetCollection("traceUrls")
      Dim addElement As ConfigurationElement = traceUrlsCollection.CreateElement("add")
      addElement("value") = "/iisstart.htm"
      traceUrlsCollection.Add(addElement)

      serverManager.CommitChanges()
   End Sub
End Module

JavaScript

var adminManager = new ActiveXObject('Microsoft.ApplicationHost.WritableAdminManager');
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST";
var httpTracingSection = adminManager.GetAdminSection("system.webServer/httpTracing", "MACHINE/WEBROOT/APPHOST/Contoso");

var traceUrlsCollection = httpTracingSection.ChildElements.Item("traceUrls").Collection;
var addElement = traceUrlsCollection.CreateNewElement("add");
addElement.Properties.Item("value").Value = "/iisstart.htm";
traceUrlsCollection.AddElement(addElement);

adminManager.CommitChanges();

VBScript

Set adminManager = createObject("Microsoft.ApplicationHost.WritableAdminManager")
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST"
Set httpTracingSection = adminManager.GetAdminSection("system.webServer/httpTracing", "MACHINE/WEBROOT/APPHOST/Contoso")

Set traceUrlsCollection = httpTracingSection.ChildElements.Item("traceUrls").Collection
Set addElement = traceUrlsCollection.CreateNewElement("add")
addElement.Properties.Item("value").Value = "/iisstart.htm"
traceUrlsCollection.AddElement addElement

adminManager.CommitChanges()