IIS6을 사용하고 있는데 HttpModule을 작성했으며이 오류가 발생합니까? 인터넷 검색 후이 문제는 .NET Framework 3.5에서 발생하므로 .NET 3.5를 설치하지 않은 컴퓨터에이 문제를 적용했지만 문제점은 여전히 있습니다!IIS6 + HttpModule :이 작업에는 IIS 통합 파이프 라인 모드가 필요합니다.
답변
IIS7 만 통합 파이프 라인을 지원합니다. IIS7에서 HttpModule은 특정 파일 확장명을 대상으로하는 요청뿐만 아니라 웹 서버로 오는 모든 요청에 참여할 수 있습니다.
II6은 이전 ISAPI 기반 파이프 라인이 스크립트 매핑이 ASP.NET에 전달할 요청을 요구할 때 HttpModules에만 참여할 수있는 IIS7에서 클래식 파이프 라인을 호출하는 것을 사용합니다.
심령 디버깅에서 내 시도 :
Response.AddHeader("X-Foo", "bar")
'response.Headers.Location = new Uri (...);'IIS6를 깨고 500 내부 서버 오류를 주겠습니까? – Blaise
:이 문제를 해결합니다 아래 그림과 같이이 변경, 실제로 경우라면
Response.Headers("X-Foo") = "bar"
: 당신은 같은 문장을 사용하고 그냥이 문제를 발견했습니다. IIS6 및 .NET 3.5 사용. 나를 위해 수정 Response.Headers.Add
대신 Response.AddHeader
을 사용하는 것이 었습니다. HTH.
다른 답변에서 영감을 얻은 결과, "조작에는 IIS 통합 파이프 라인 모드가 필요합니다"예외가 발생하는 Response.Headers
개체에 액세스하는 것으로 나타났습니다.
피 .Headers
과 같은 다른 (나이?) 도우미 함수를 호출 : (! 내 경우)
Response.AddHeader()
및Response.ClearHeaders()
당신이 당신의 모듈이 무엇을하고 있는지에 정교한 수 있을까요? – AnthonyWJones
사용자의 암호가 비공개되었는지 확인한 다음 변경해야합니다. – sdhjl2000
오류가 발생한 위치를 나타내는 코드를 제공해야합니다. –