据我所知,IIS会记录我可以访问的http请求的部分内容。我想在短时间内记录整个http请求。这意味着我想存储以原始形式发布的数据。这可能是使用ISS的日志记录工具还是我必须安装另一个工具?
我有以下问题。我通过asp.net mvc公开了一个'restful web service',它将发布的数据存储在关系数据库中。我通过javascript测试了这项服务。我url编码了一些数据并使用jquery发布。数据按预期存储在数据库中编码的url。一些客户还使用unix和wget将数据发布到同一个Web服务。不幸的是,数据没有存储url编码(因此如果它包含像&这样的特殊字符,我们会丢失一些数据)。他们声称他们发送了编码的数据网址。这可能是真的吗? wget帖子的机制是否与javascript帖子不同?我忽略了一层吗?我想仔细检查通过wget发送的数据是否实际上是url编码的。
谢谢!
祝福,
基督教
答案 0 :(得分:0)
您可以创建一个MVC动作过滤器,然后您可以访问Request对象并提取有趣的位。然后,您可以将此信息存储在文本文件或日志记录数据库中。我以前使用过这种方法,如果你将保存操作线程化到数据库操作,不会减慢一般请求操作,那么它的效果很好。
public class LogRequest : ActionFilterAttribute, IActionFilter
{
#region IActionFilter Members
void IActionFilter.OnActionExecuting(ActionExecutingContext var)
{
//code goes here
}
#endregion
}
[AcceptVerbs(HttpVerbs.Get)]
[LogRequest()]
public ActionResult Index()
{
return View();
}
你在这里问了两个问题,我不知道第二部分。