将请求转换为字符串或json(HttpRequestWrapper)

时间:2015-05-28 08:21:14

标签: c# asp.net .net asp.net-mvc asp.net-mvc-4

我想将整个请求对象转换为字符串,以便在文本文件中写入以供将来参考。我正在尝试下面的代码,但得到错误。

代码:

string lsRequest = new JavaScriptSerializer().Serialize(Request);

string lsRequest = Request.toString();

enter image description here

2 个答案:

答案 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;
                }

            }