2014-07-20 3 views
0

Qerystring (POST 메서드)을 사용하여 asp.net 페이지에 내 C# 응용 프로그램에 큰 json 문자열을 보내려고하지만 문자열이 너무 길어서이 메시지를 보내지 못합니다. 잘못된 uri : uri 링크가 너무 깁니다.큰 JSON 문자열 보내기

내 문제의 또 다른 해결책이 있습니까?

if(allRecords.Count > 0) 
    for (int j = 0; j < allRecords.Count; j++) 
    { 
     queryString += JsonConvert.SerializeObject(allRecords[j], Newtonsoft.Json.Formatting.Indented); 
    } 
ASCIIEncoding encoding = new ASCIIEncoding(); 
byte[] data = encoding.GetBytes(queryString); 

// Set up Request. 
HttpWebRequest webReq = WebRequest.Create(onlineApp) as HttpWebRequest; 
webReq.ContentType = "text/plain"; 
webReq.Method = "POST"; 
webReq.Credentials = CredentialCache.DefaultCredentials; 
webReq.ContentLength = data.Length; 

// Send Request. 


Stream newStream = webReq.GetRequestStream(); 
newStream.Write(data, 0, data.Length); 
newStream.Close(); 

// get Response. 
HttpWebResponse response = (HttpWebResponse)webReq.GetResponse(); 
StreamReader reader = new StreamReader(response.GetResponseStream()); 

string tt = reader.ReadToEnd(); 

reader.Close(); 
response.Close(); 
+1

POST 데이터는 URI의 일부가 아니므로 오류는 나에게별로 의미가 없습니다. ASP.NET 페이지는 POST 데이터로 무엇을합니까? 오류가있을 수 있습니까? – svick

+0

'WebClient' 클래스와 ['WebClient.UploadData' 오버로드] 중 하나 (http://msdn.microsoft.com/en-us/library/tdbbwh0a (v = vs.110) .aspx)를 사용하는 것은 어떻습니까? 'WebRequest' 클래스의? –

+0

나는 그것을 놓치고 있을지 모르지만, 위의 것만을 기반으로해서,'querystring'은 무엇인가? 변수 이름? uri의 실제'query string '? 나는 (당신이 게시하는 것 같습니다) 전) 볼 수 있지만 후자는 ... – EdSF

답변

0

귀하의 WebRequest에 문제가 있다고 생각합니다. 새로운 Webrequest를 만들 때 웹 요청 문자열을 확인하십시오.