유효성 <검사 유효성 검사>
개요
요소는 <validation>
IIS(인터넷 정보 서비스) 7을 구성하여 통합 모드에서 올바르게 작동하기 위해 클래식 .NET 모드에서 실행되도록 설정된 ASP.NET 애플리케이션을 변경해야 하는지 여부를 검색합니다.
validateIntegratedModeConfiguration 특성이 true로 설정되고 다음 중 하나가 true이면 IIS에서 마이그레이션 오류 메시지를 생성합니다.
애플리케이션은 해당 Web.config 파일에서 섹션을 정의합니다
<httpModules>
.IIS 7 통합 모드에서 ASP.NET 모듈은 system.webServer> 아래<의 통합 <모듈 섹션에서 네이티브 모듈>로 지정됩니다.
애플리케이션은 해당 Web.config 파일에서 섹션을 정의합니다
<httpHandlers>
.IIS 7 통합 모드에서 ASP.NET 처리기 매핑은 system.webServer> 내의 통합 처리기 섹션에< 지정됩니다.>< 처리기> 섹션은< ASP.NET
<httpHandlers>
1.0 처리기 매핑을 설정하는 데 필요한 ASP.NET 및 IIS 스크립트 프로세서 매핑 구성을 모두 대체합니다.애플리케이션의 Web.config 파일은 를 지정합니다
<identity impersonate="true" />
.IIS 7 통합 모드에서는 일부 초기 요청 처리 단계에서 클라이언트 가장을 사용할 수 없습니다. 따라서 IIS는 마이그레이션 오류 메시지를 생성합니다. ASP.NET 웹 애플리케이션이 클라이언트 자격 증명을 가장하는 경우(인트라넷 시나리오에서 가장 일반적) validateIntegratedModeConfiguration 특성을 false로 설정할 수 있습니다.
참고
구성을 수동으로 마이그레이션하거나 구성을 마이그레이션하지 않지만 IIS를 통합 모드로 유지하려는 경우(권장되지 않음) validateIntegratedModeConfiguration 특성을 false로 설정하여 마이그레이션 오류 메시지를 사용하지 않도록 설정할 수 있습니다. validateIntegratedModeConfiguration이 false이면 IIS에서 지원되지 않는 구성에 대한 경고를 더 이상 제공하지 않으므로 이 설정을 만들기 전에 애플리케이션이 통합 모드에서 올바르게 작동하는지 확인합니다.
호환성
버전 | 참고 |
---|---|
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에 대한 유효성 검사를 추가하기 위한 사용자 인터페이스가 없습니다. 프로그래밍 방식으로 유효성 검사를 추가하는 방법에 대한 예제는 이 문서의 코드 샘플 섹션을 참조하세요.
구성
특성
attribute | Description |
---|---|
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()