是否有一种简单的方法来转储完整的HttpRequest。我需要这个来分析我的Web应用程序中的问题。 HttpRequest包含许多属性,我不想自己编写它。
HttpRequest request = HttpContext.Current.Request;
request.Dump();
我正在寻找Linqpad中的一个方法,它打印出所有带有值的属性。
答案 0 :(得分:2)
内置的SaveAs()
方法可能会帮助您。
http://msdn.microsoft.com/en-us/library/system.web.httprequest.saveas.aspx
它的描述是:
将请求上下文保存到磁盘在调试时非常有用。
答案 1 :(得分:2)
您可以编写如下的扩展方法:
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;
}
}