C# 将json流发送到服务器

C# 将json流发送到服务器,c#,asp.net,json,C#,Asp.net,Json,我在向asp.net页面发送json字符串时遇到问题,我想发送长流bs,我正在尝试短流bs。我不知道这是不是正确的方法,但我不知道另一种方法。 它不是json格式的! 这是c中的客户端代码: List<Employee> eList = new List<Employee>(); Employee eo = new Employee();

我在向asp.net页面发送json字符串时遇到问题,我想发送长流bs,我正在尝试短流bs。我不知道这是不是正确的方法,但我不知道另一种方法。 它不是json格式的! 这是c中的客户端代码:

List<Employee> eList = new List<Employee>();
                                    Employee eo = new Employee();
                                    eo = new Employee();
                                    eo.Name = "Santosh";
                                    eo.Age = 24;
                                    eList.Add(eo);

                                    queryString = JsonConvert.SerializeObject(eList, Newtonsoft.Json.Formatting.Indented);

                                    if (flagFirstTime==0)
                                    {
                                        onlineApp = settings.onlinURL + @"/Admin/HR/Attendance_UpdateData.ashx?" + queryString;//here the json string 
                                        urlAdress = onlineApp;
                                        flagFirstTime = 1;
                                    }


                                    Uri url = new Uri(urlAdress);
                                    HttpWebRequest webReq = (HttpWebRequest)WebRequest.Create(url);
                                    webReq.Method = "Get";
使用Request.Url.Query读取发送时的字符串,就像我看到的那样。因此,您的处理程序必须如下所示:

public void ProcessRequest(HttpContext context) 
    { 
        Teachers_Att_Data teacherAttDataNew; 

        try 
        { 
            string xml = context.Request.Url.Query.ToString();

            context.Response.ContentType = "text/plain"; 
            context.Response.Write("updated");     
        }  
        catch (Exception ex) 
        { 
                  context.Response.Write("f"); 
        } 
    }
请注意,我不确定其余部分是否工作,或者程序上的逻辑是什么,但这是读取url参数的方法

在url上放置字符串时,也使用Server.URLEncode:

onlineApp = settings.onlinURL 
     + @"/Admin/HR/Attendance_UpdateData.ashx?" + Server.URLEncode(queryString);

从长远来看,将JSON作为查询字符串发送几乎必然会导致长度问题。将其设置为您的请求主体。此外,使用StreamReader阅读身体,而不是模仿自己的方式。新建StreamReadercontext.Request.InputStream.ReadToEnd;事实上,看起来您甚至没有以正确的方式设置查询字符串参数。它应该是键/值对的,看起来你只是把所有的东西直接放在上面而没有键。
onlineApp = settings.onlinURL 
     + @"/Admin/HR/Attendance_UpdateData.ashx?" + Server.URLEncode(queryString);