Bagikan melalui


Validasi validasi <>

Gambaran Umum

Elemen mengonfigurasi <validation> Internet Information Services (IIS) 7 untuk mendeteksi apakah aplikasi ASP.NET yang disiapkan untuk dijalankan dalam mode Klasik .NET perlu diubah agar berfungsi dengan benar dalam mode Terintegrasi.

IIS menghasilkan pesan kesalahan migrasi jika atribut validateIntegratedModeConfiguration diatur ke true dan salah satu hal berikut ini juga benar:

  • Aplikasi Anda mendefinisikan <httpModules> bagian dalam file Web.config.

    Dalam mode Terintegrasi IIS 7, modul ASP.NET ditentukan dengan modul asli di bagian modul> terpadu< di bawah <system.webServer>.

  • Aplikasi Anda mendefinisikan <httpHandlers> bagian dalam file Web.config.

    Dalam mode Terintegrasi IIS 7, pemetaan handler ASP.NET ditentukan di bagian handler> terpadu< di dalam <system.webServer>. Bagian <handler> menggantikan konfigurasi ASP.NET <httpHandlers> dan pemetaan prosesor skrip IIS, yang keduanya diperlukan untuk menyiapkan pemetaan handler ASP.NET 1.0.

  • File Web.config aplikasi Anda menentukan <identity impersonate="true" />.

    Dalam mode Terintegrasi IIS 7, peniruan identitas klien tidak tersedia dalam beberapa tahap pemrosesan permintaan awal. Oleh karena itu, IIS akan menghasilkan pesan kesalahan migrasi. Jika aplikasi web ASP.NET Anda meniru kredensial klien (paling umum dengan skenario intranet), Anda mungkin ingin mengatur atribut validateIntegratedModeConfiguration ke false.

Catatan

Jika Anda memigrasikan konfigurasi secara manual, atau tidak memigrasikan konfigurasi tetapi Anda ingin IIS tetap dalam mode Terintegrasi (yang tidak disarankan), Anda dapat menonaktifkan pesan kesalahan migrasi dengan mengatur atribut validateIntegratedModeConfiguration ke false. Karena IIS tidak akan lagi memberikan peringatan untuk konfigurasi yang tidak didukung saat validateIntegratedModeConfigurationsalah, pastikan aplikasi Anda berfungsi dengan benar dalam mode Terintegrasi sebelum Anda membuat pengaturan ini.

Kompatibilitas

Versi Catatan
IIS 10.0 Elemen <validation> tidak dimodifikasi di IIS 10.0.
IIS 8.5 Elemen <validation> tidak dimodifikasi di IIS 8.5.
IIS 8.0 Elemen <validation> tidak dimodifikasi di IIS 8.0.
IIS 7.5 Elemen <validation> tidak dimodifikasi dalam IIS 7.5.
IIS 7.0 Elemen <validation> ini diperkenalkan di IIS 7.0.
IIS 6.0 T/A

Siapkan

Elemen <validation> ini disertakan dalam penginstalan default IIS 7.

Bagaimana Caranya

Tidak ada antarmuka pengguna untuk menambahkan validasi untuk IIS 7. Untuk contoh cara menambahkan validasi secara terprogram, lihat bagian Sampel Kode dari dokumen ini.

Konfigurasi

Atribut

Atribut Deskripsi
validateIntegratedModeConfiguration Atribut Boolean opsional.

Menentukan apakah validasi konfigurasi diaktifkan saat berjalan dalam mode Terintegrasi. Bagian <system.Web/httpHandlers> dan <system.Web/httpModules> serta peniruan data diperiksa selama proses ini.

Nilai defaultnya adalah true.

Elemen Anak

Tidak ada.

Sampel Konfigurasi

Sampel konfigurasi berikut memungkinkan validasi. > [! CATATAN]

Kutipan ini berasal dari file Web.config, sehingga sampel konfigurasi ini dapat digunakan pada tingkat folder apa pun dalam situs Web.

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

Kode Sampel

Sampel kode berikut mengaktifkan validasi untuk Situs Web Default.

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()