2017-12-08 12 views
0

オクラホマので、私はここでかなりのタスクを持っている:録音MVCアプリケーションでのイベント(リクエスト&レスポンス)

は、このプロジェクトの背景は非常に複雑で、完全にNDAので覆われているので、私はちょうど私が何を述べるだろう背景なしでやろうとしている。

私が必要とするのは、MVCアプリケーションとそのすべての応答に対するすべての要求を記録する方法です。

また、要求が送信されたとおりに正確に返信する方法も必要です。

私は、MVCアプリケーションをロードしたり、自己ホストを実行したり、IISで実行したり、要求を取得したり、記録したり、まったく別のMVCと同じように動作するMVCアプリケーションにそのまま渡したりするソリューションを作りたいと考えていました。アプリ。

MVCアプリケーションを読み込む代わりに、イベントストアからイベントを読み込んでMVCアプリケーションでそれらを再生するようにリクエストするために開く代わりに、2番目のソリューションを作成することができます。

今私はどこから始めるべきかわからない。このちょっとしたことは、ウェイ私の快適ゾーンの外です。

リクエスト(およびレスポンス)を録音して再生する方法が他にもある場合は、私に知らせてください。

MVCでリクエストをインターセプトする方法があっても、認証とルーティングmalarkeyをすべて開始する前にリクエストを傍受しても、それは素晴らしい出発点になります。私は、それが送信される前に、最後の1秒で応答を捕捉できる場所も知る必要があります。お時間を

感謝 アンディ

+1

Webサーバーのログのようなサウンドは、この部分を達成する可能性があります – DaveInCaz

答えて

0

HttpModuleがあなたのシナリオのためにうまく動作します:

using System; 
using System.Web; 
public class HelloWorldModule : IHttpModule 
{ 
    public HelloWorldModule() 
    { 
    } 

    public String ModuleName 
    { 
     get { return "HelloWorldModule"; } 
    } 

    // In the Init function, register for HttpApplication 
    // events by adding your handlers. 
    public void Init(HttpApplication application) 
    { 
     application.BeginRequest += 
      (new EventHandler(this.Application_BeginRequest)); 
     application.EndRequest += 
      (new EventHandler(this.Application_EndRequest)); 
    } 
    private void Application_BeginRequest(Object source, 
     EventArgs e) 
    { 
     // Create HttpApplication and HttpContext objects to access 
     // request and response properties. 
     HttpApplication application = (HttpApplication)source; 
     HttpContext context = application.Context; 
     /*...*/  
    } 

    private void Application_EndRequest(Object source, EventArgs e) 
    { 
     HttpApplication application = (HttpApplication)source; 
     HttpContext context = application.Context; 
     /*...*/ 
    } 

    public void Dispose() { } 
} 

here利用可能なコード、より多くの情報。

関連する問題