Проверка проверки <>

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

Элемент <validation> настраивает службы IIS 7, чтобы определить, нужно ли изменить приложение ASP.NET, настроенное для работы в классическом режиме .NET, чтобы правильно функционировать в режиме интеграции.

СЛУЖБЫ IIS создают сообщение об ошибке миграции, если атрибут validateIntegratedModeConfiguration имеет значение true и одно из следующих значений также имеет значение true:

  • Приложение определяет <httpModules> раздел в файле Web.config.

    В интегрированном режиме IIS 7 ASP.NET модули указываются с помощью собственных модулей в разделе унифицированных <модулей> в разделе <system.webServer>.

  • Приложение определяет <httpHandlers> раздел в файле Web.config.

    В интегрированном режиме IIS 7 сопоставления обработчиков ASP.NET указываются в разделе унифицированных <обработчиков> внутри <system.webServer>. Раздел <обработчиков> заменяет конфигурации ASP.NET <httpHandlers> и сопоставления обработчика скриптов IIS, которые требовались для настройки сопоставления обработчика ASP.NET 1.0.

  • Файл Web.config приложения указывает <identity impersonate="true" />.

    В интегрированном режиме IIS 7 олицетворение клиента недоступно на некоторых ранних этапах обработки запросов. Поэтому IIS создаст сообщение об ошибке миграции. Если веб-приложение ASP.NET олицетворяет учетные данные клиента (наиболее распространенные в сценариях интрасети), может потребоваться задать для атрибута validateIntegratedModeConfigurationзначение false.

Примечание

Если вы переносите конфигурацию вручную или не переносите конфигурацию, но хотите, чтобы службы IIS оставались в интегрированном режиме (что не рекомендуется), можно отключить сообщения об ошибках миграции, задав для атрибута validateIntegratedModeConfiguration значение false. Так как службы IIS больше не будут предоставлять предупреждения для неподдерживаемых конфигураций, если параметр validateIntegratedModeConfiguration имеет значение false, перед установкой этого параметра убедитесь, что приложение правильно работает в режиме интеграции.

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

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

Настройка

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

Инструкции

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

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

Атрибуты

Атрибут Описание
validateIntegratedModeConfiguration Дополнительный логический атрибут.

Указывает, включена ли проверка конфигурации при выполнении в режиме интеграции. В <system.Web/httpHandlers> этом процессе проверяются разделы и <system.Web/httpModules> , а также олицетворение.

Значение по умолчанию — true.

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

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

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

Следующий пример конфигурации включает проверку. > [! ПРИМЕЧАНИЕ]

Этот фрагмент из файла Web.config, поэтому этот пример конфигурации можно использовать на любом уровне папок на веб-сайте.

<configuration>
   <system.webServer>
      <validation validateIntegratedModeConfiguration="true" />
   </system.webServer>
</configuration>

Пример кода

Следующие примеры кода позволяют проверить веб-сайт по умолчанию.

AppCmd.exe

appcmd.exe set config "Default Web Site" -section:system.webServer/validation /validateIntegratedModeConfiguration:"True"

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.GetWebConfiguration("Default Web Site");

         ConfigurationSection validationSection = config.GetSection("system.webServer/validation");
         validationSection["validateIntegratedModeConfiguration"] = true;

         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.GetWebConfiguration("Default Web Site")

      Dim validationSection As ConfigurationSection = config.GetSection("system.webServer/validation")
      validationSection("validateIntegratedModeConfiguration") = True

      serverManager.CommitChanges()
   End Sub

End Module

JavaScript

var adminManager = new ActiveXObject('Microsoft.ApplicationHost.WritableAdminManager');
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST/Default Web Site";

var validationSection = adminManager.GetAdminSection("system.webServer/validation", "MACHINE/WEBROOT/APPHOST/Default Web Site");
validationSection.Properties.Item("validateIntegratedModeConfiguration").Value = true;

adminManager.CommitChanges();

VBScript

Set adminManager = WScript.CreateObject("Microsoft.ApplicationHost.WritableAdminManager")
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST/Default Web Site"

Set validationSection = adminManager.GetAdminSection("system.webServer/validation", "MACHINE/WEBROOT/APPHOST/Default Web Site")
validationSection.Properties.Item("validateIntegratedModeConfiguration").Value = True

adminManager.CommitChanges()