2011-11-22 1 views
0

HttpHandler를 만들지 않고 사용자 지정 헤더를 추가 할 수있는 방법이 있습니까? 나는 다음 두 API를 시도했지만 전자는 오류를 던지고 후자는 잘 작동하지만 페이지가 리다이렉트되거나 다른 페이지에 게시 될 때. 헤더가 손실됩니다. 귀하의 제안에 감사드립니다.ASP.NET HttpHandler를 만들지 않고 사용자 지정 헤더를 추가하는 방법

Response.Headers.Add() 
    Response.AppendHeader() 

환경 : ASP.NET 3.5 &는 MSDN documentation에 따르면 6

+0

모든 페이지에서 필요하다면 IIS 서버에 추가하지 않는 것이 좋습니다. (물론 가정합니다.) -이 [link] (http://kbalertz.com/954002/custom-response- header-hosted.aspx) –

+0

@DidierG ... 헤더 정보는 런타임에만 사용할 수 있으므로 IIS 서버에 추가 할 수 없습니다. –

답변

2

를 IIS :

"헤더 속성은 오직 IIS 7.0 통합 파이프 라인 모드와 적어도 지원됩니다. NET Framework 3.0을 사용하면 에 Headers 속성에 액세스하려고 시도하고이 두 조건 중 하나가 충족되지 않으면 이 PlatformNotSupportedException이됩니다. "

IIS6을 사용하고 있으므로 PlatformNotSupportedException 예외가 발생하기를 기대합니다. 너?

대신 Response.AppendHeader() 방법을 사용해보십시오. 예를 들어 :

Response.AppendHeader("CustomAspNetHeader", "Value1"); 

또한 필요가있을 경우, 먼저 어떤 헤더를 제거 Response.ClearHeaders()를 사용할 수 있습니다.

+0

사실 Response.AppendHeader() 메서드도 사용하고 있지만 페이지가 교차 게시되거나 다른 페이지로 리디렉션 될 때 헤더가 손실됩니다. –

+0

http://www.fiddler2.com/fiddler2/를 사용하여 무슨 일이 일어나는지 확인하고 보내려는 헤더를 보는 것이 좋습니다 ... –