共用方式為


驗證驗證 <>

概觀

元素 <validation> 會設定 Internet Information Services (IIS) 7,以偵測是否已設定為在傳統 .NET 模式中執行的 ASP.NET 應用程式必須變更,才能在整合模式中正確運作。

如果 validateIntegratedModeConfiguration 屬性設定為 true ,且下列其中一項也成立,IIS 會產生移轉錯誤訊息:

  • 您的應用程式在其Web.config檔案中定義區 <httpModules> 段。

    在 IIS 7 整合模式中,ASP.NET 模組是在system.webServer > 下的 <整合< 模組區段中以原生模組 >指定。

  • 您的應用程式在其Web.config檔案中定義區 <httpHandlers> 段。

    在 IIS 7 整合模式中,ASP.NET 處理常式對應是在system.webServer > 內的 <整合< 處理常式 >區段中指定。 < handlers >區段會取代 ASP.NET <httpHandlers> 和 IIS script-processor-mapping 組態,這兩者都是設定 ASP.NET 1.0 處理常式對應所需的組態。

  • 應用程式的Web.config檔案會 <identity impersonate="true" /> 指定 。

    在 IIS 7 整合模式中,某些早期要求處理階段不提供用戶端模擬。 因此,IIS 會產生移轉錯誤訊息。 如果您的 ASP.NET Web 應用程式模擬用戶端認證, (內部網路案例最常) ,您可能會想要將 validateIntegratedModeConfiguration 屬性設定為 false

注意

如果您手動移轉設定,或未移轉設定,但您希望 IIS 保持整合模式 (不建議) ,您可以將 validateIntegratedModeConfiguration 屬性設定為 false來停用移轉錯誤訊息。 因為當 validateIntegratedModeConfigurationfalse時,IIS 將不再提供不支援之組態的警告,因此在進行此設定之前,請確定您的應用程式在整合模式中正常運作。

相容性

版本 備註
IIS 10.0 未在 IIS 10.0 中修改專案 <validation>
IIS 8.5 未在 IIS 8.5 中修改專案 <validation>
IIS 8.0 未在 IIS 8.0 中修改專案 <validation>
IIS 7.5 未在 IIS 7.5 中修改專案 <validation>
IIS 7.0 元素 <validation> 是在 IIS 7.0 中引進。
IIS 6.0 N/A

安裝程式

元素 <validation> 包含在 IIS 7 的預設安裝中。

作法

沒有用於新增 IIS 7 驗證的使用者介面。 For examples of how to add validation programmatically, see the Code Samples section of this document.

組態

屬性

屬性 描述
validateIntegratedModeConfiguration 選擇性的 Boolean 屬性。

指定在整合模式中執行時,是否啟用組態驗證。 在此 <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()