我需要抓住应用的所有回复。我该怎么办?
关于传入的请求,我可以使用HttpModule
,但我需要回复。
我可以创建过滤器,但这也需要我为每个新控制器分配过滤器属性,这是我想要避免的。
还有其他办法吗?
答案 0 :(得分:0)
假设您的应用程序不在ASP.NET Core上,您可以创建模块来订阅结束请求。在这里你可以捕捉回应。
public class CaptureResponseModule : IHttpModule
{
public void Init(HttpApplication application)
{
application.EndRequest += (o, s) =>
{
var response = HttpContext.Current.Response;
/*capture response for logging/tracing etc. */
};
}
public void Dispose()
{
throw new NotImplementedException();
}
}
您需要在web.config文件中注册此模块,例如:
<system.web>
<httpModules><add name="CaptureResponseModule " type="CaptureResponseModule"/></httpModules>
</system.web>