有没有一种简单的方法来转储完整的 HttpRequest。我需要这个来分析我的 Web 应用程序中的问题。HttpRequest 包含许多属性,我不想自己编写它。
HttpRequest request = HttpContext.Current.Request;
request.Dump();
我正在寻找一种类似于 Linqpad 中的方法,它可以打印出所有带有值的属性。
内置SaveAs()
方法可能会帮助您。
http://msdn.microsoft.com/en-us/library/system.web.httprequest.saveas.aspx
它的描述是:
将请求上下文保存到磁盘对调试很有用。
你可以写一个这样的扩展方法:
var dict = someObj.DumpProperties();
var dumpStr = String.Join("\n",
dict.Select(kv => kv.Key + "=" + kv.Value ?? kv.Value.ToString()));
.
public static class MyExtensions
{
public static Dictionary<string, object> DumpProperties(this object obj)
{
var props = obj.GetType()
.GetProperties()
.ToDictionary(p => p.Name, p => p.GetValue(obj, null));
return props;
}
}