2009-09-29 2 views
0

게시 된 XML 데이터를 처리해야하는 작업이있는 ASP.NET MVC 응용 프로그램이 있습니다. 카시니 (Cassini)에서는 모든 것이 잘 작동하지만 IIS6에 애플리케이션을 배포 할 때 다음과 같은 오류가 발생합니다.IIS6에서 실행중인 ASP.NET MVC에서 요청 유효성 검사를 비활성화하는 방법은 무엇입니까?

A potentially dangerous Request.Form value was detected from the client (xml="<?xml version="1.0" ..."). 

나는 ValidateInput(false) 속성으로 장식 컨트롤러를 시도하고 또한 컨트롤러 방법에 따라 추가 할 수 있습니다.

protected override void Initialize(RequestContext requestContext) 
{ 
    ValidateRequest = false; 
    base.Initialize(requestContext); 
} 

아무런 도움이되지 않습니다.

이 귀찮은 요청 유효성 검사를 어떻게 제거 할 수 있습니까?

: 죄송합니다. 나는 평소처럼 완전히 내 실수였다. 와일드 카드 매핑을 설정 한 후에 모든 것이 잘 작동합니다.

답변

2

POST 메서드의 경우 (ValidateInput)입니까? 그것은 POST에서만 작동합니다.

+0

을 예 이 문제를 유발하는 게시물 요청입니다. 또한 AcceptVerbs (HttpVerbs.Post) 및 ValidateInput (false)을 특정 메서드에 추가하려고 시도했지만 IIS6에서 효과가있는 것으로 보입니다. –

+0

이상한 점 - 정상적으로 작동합니다. 당신은 확실히 다른 행동이 아니라 그 행동에 게시하고 있습니까? – RichardOD

2

리처드 말했듯이, 당신은 입력 받아 동작 방법에 배치해야합니다

[HttpPost] 
[ValidateInput (false)] 
public ActionResult DoTheThing (StuffBeingPostedBack stuff) 
{ 
    // ... 
} 
1

넣고 [ValidateInput (거짓)] 컨트롤러의 포스트 방법에 ActionResult 위 ....

관련 문제