2016-12-17 17 views
0

IIS 7.5サーバー上で実行されているASP.NET/C# Webアプリケーションからファイルをダウンロードする場合、応答内でダウンロードされるPDFファイルを傍受するにはどうすればよいですか?応答はContent-Typeapplication/pdfContent-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ファイルがどのように見える

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

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

</system.webServer> 
+0

モジュールを登録しましたか? – Crowcoder

+0

はい、モジュールは登録されています。これは、通常のWebトラフィック(つまりWebページの表示)で両方の関数が呼び出されるためです。しかし、ファイルをダウンロードしようとすると、どちらの関数も呼び出されません。 – user1068636

+0

私はこのレベルのエキスパートではありませんが、そのファイルタイプまたはすべての静的ファイルに対する要求がaspnetパイプラインを経由しないことがあります。 – Crowcoder

答えて

0

あなたは、あなたのweb.configファイル内のモジュールを登録する方法を示していないが、それはこのようになります場合:

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

その後、前提条件属性を削除するだけです。そうしないと、モジュールは静的ファイル(およびマネージパイプラインを呼び出さない可能性のあるもの)に対して呼び出されません。

+0

事前条件はありません。私はweb.configのようなものを上に更新しました – user1068636

+0

これであなたはこれを解決してくれることを願っていますが、あなたが何をしているのかについてより多くの情報が必要と思われます。一般に、私が概説した方法はうまくいくはずです。 おそらく失敗した要求トレースモジュールを実行して、IISが実際に行っていたことを追跡できます。 – Jason

関連する問題