我有一个 MVC 3 应用程序,它有 JSON POST'ed 到一个动作。一切正常,但我需要开始记录原始入站 JSON blob(或正在发送的任何其他内容)。具体来说,我想捕获在命中目标操作之前失败的请求,以便我可以分析正在发布的数据的结构和/或内容问题。
在 MVC 3 中这样的事情可能吗?
我有一个 MVC 3 应用程序,它有 JSON POST'ed 到一个动作。一切正常,但我需要开始记录原始入站 JSON blob(或正在发送的任何其他内容)。具体来说,我想捕获在命中目标操作之前失败的请求,以便我可以分析正在发布的数据的结构和/或内容问题。
在 MVC 3 中这样的事情可能吗?
如果您想分析服务器的所有内容,请考虑使用 HTTP 模块:http: //msdn.microsoft.com/en-us/library/ms227673.aspx。
HTTP Module 是一个类,它允许您将其他操作附加到现有的请求流。您可以将代码附加到 BeginRequest 事件以记录请求详细信息,即使它不会到达控制器。
public class HelloWorldModule : IHttpModule {
// In the Init function, register for HttpApplication
// events by adding your handlers.
public void Init(HttpApplication application)
{
application.BeginRequest +=
(new EventHandler(this.Application_BeginRequest));
}
private void Application_BeginRequest(Object source,
EventArgs e)
{
//Do something with HttpContext.Current.Request here
}
}