2016-12-17 15 views
0

IIS 7.5 서버에서 실행되는 ASP.NET/C# 웹 응용 프로그램에서 파일을 다운로드 할 때 응답 내에서 다운로드되는 pdf 파일을 가로채는 방법은 무엇입니까? 응답은 Content-Typeapplication/pdf이고 Content-Length10091입니다.http 모듈 또는 http 처리기를 사용하여 C#에서 파일 다운로드를 차단 하시겠습니까?

public void Init(HttpApplication context){ 
    context.BeginRequest+=Context_BeginRequest(); 
    context.EndRequest+=Context_EndRequest(); 

} 

private void Begin_Request(Object sender, EventArgs e){ 
    // this function does not get called when downloading a file! 
} 


private void End_Request(Object sender, EventArgs e){ 
    // this function does not get called when downloading a file! 
} 

내가 파일 다운로드 응답을 차단하기 위해 재정의해야 할 기능 :

은 현재 내가 방법을 재정의하는 HttpModule를 작성했습니다?

의 Web.config은 다음과 같습니다 당신이 당신의 Web.config에서 모듈을 등록하는 방법

<system.webServer> 
<modules runallManagedModulesForAllRequests="true"> 

    <add name="MyMod.Module" type="MyMod.Module"/> 
</modules> 

</system.webServer> 
+0

모듈을 등록하셨습니까? – Crowcoder

+0

예, 정상적인 웹 트래픽 (즉, 웹 페이지보기)에서 두 기능이 모두 호출되기 때문에 모듈이 등록됩니다. 그러나 파일을 다운로드하려고 할 때 두 함수가 호출되지 않을 때입니다. – user1068636

+0

나는이 수준의 전문가는 아니지만 그 파일 유형 또는 모든 정적 파일에 대한 요청이 aspnet 파이프 라인을 통과하지 않을 수도 있습니다. – Crowcoder

답변

0

당신은 표시되지 않습니다, 그러나 그것은 다음과 같습니다 경우 : 다음

<system.webServer> 
    <modules> 
    <add name="mymodule" type="typename, assemblyname" preCondition="managedHandler" /> 
    </modules> 
</system.webServer> 

당신 전제 조건 속성을 제거하면됩니다. 그렇지 않으면 모듈이 정적 파일 (및 관리 파이프 라인을 호출하지 않을 수도있는 다른 파일)에 대해 호출되지 않습니다.

+0

사전 조건이 없습니다. 내 web.config의 내용을 업데이트했습니다. – user1068636

+0

지금까지이 문제를 해결했으면 좋겠지 만, 내가하는 일에 대해 더 많은 정보가 필요하다고 생각합니다. 일반적으로 내가 설명한 방법이 효과가있다. IIS가 실제로 수행 한 작업을 추적하기 위해 실패한 요청 추적 모듈을 실행할 수 있습니다. – Jason