【发布时间】:2010-09-16 17:21:19
【问题描述】:
我有一个客户在测试期间给我提供了相互矛盾的信息。我不认为他们在撒谎,而是更加困惑。所以,我想在我的 ASP.Net 应用程序中设置一些简单的审计。具体来说,当任何页面被调用时,我想立即将查询字符串和/或表单 POST 数据插入日志表。只是原始值。
查询字符串很简单。但是似乎没有办法在不使用 BinaryRead 的情况下获取原始表单 POST 数据,如果我这样做了,那么我稍后会不再使用 Request.Form 集合。
有人知道解决这个问题的方法吗?
编辑:tvanfosson 建议 Request.Params。我一直在寻找更容易使用的东西(比如 Request.Querystring,仅用于 POST),但我想我可以轻松地遍历所有参数并构建一个 name=value& 字符串等)。
【问题讨论】:
-
以防万一,当多个参数具有相同名称时,NameValueCollection(例如 Request.Params 或 Request.Form)上的 GetValues() 方法会返回多个项目。 (例如test.com/a.aspx?book=book1&book=book2