我想将整个请求对象转换为字符串,以便在文本文件中写入以供将来参考。我正在尝试下面的代码,但得到错误。
代码:
string lsRequest = new JavaScriptSerializer().Serialize(Request);
或
string lsRequest = Request.toString();
答案 0 :(得分:1)
循环引用是指对象包含自身(或包含包含父对象的对象)。因此,序列化程序无法序列化它。
您可以尝试仅保存您需要重建请求的对象的属性
在ASP.Net中,您可以使用会话,这可能会存档您想要执行的操作 http://www.codeproject.com/Articles/32545/Exploring-Session-in-ASP-Net
答案 1 :(得分:0)
试试这个..
string logRequest = string.Empty;
using (StreamReader reader = new StreamReader(request.InputStream))
{
try
{
request.InputStream.Position = 0;
logRequest = reader.ReadToEnd();
}
catch (Exception ex)
{
logRequest = string.Empty;
//log errors
}
finally
{
request.InputStream.Position = 0;
}
}