MVC/Web API、NET4.5 アプリケーションがあります。次のように独自のカスタム ハンドラーを作成しました。
public class MyMessageHandler : DelegatingHandler
{
protected async override Task<HttpResponseMessage> SendAsync(HttpRequestMessage request, CancellationToken cancellationToken)
{
var requestDate = request.Headers.Date;
// do something with the date ...
var response = await base.SendAsync(request, cancellationToken);
var responseDate = response.Headers.Date;
// do something with the date ...
return response;
}
}
これは、API リクエスト ( http://server.com/api/resource ) に最適です。
また、マネージ モジュールを介してすべての要求を実行するように web.config を構成しました。
<modules runAllManagedModulesForAllRequests="true">
「html」または「js」ファイルのリクエストが届いた場合、それは MyMessageHandler を経由しません。したいと思います。
また、これが役立つかどうかはわかりませんが、静的ファイルの要求は、global.asax の Application_BeginRequest と Application_EndRequest を通過します。コードをそこに置くこともできますが、MyMessageHandler に置くことをお勧めします。
ありがとう