I have to post some data from asp.net to Webservice using HTTP post.
While I am trying to POST data to a Restful service and getting this error. Any help greatly appreciated.
Length = 'dataStream.Length' threw an exception of type 'System.NotSupportedException'
Position = 'dataStream.Position' threw an exception of type 'System.NotSupportedException'
Below is my code.
protected string GetResponseWithPost(string StrURL, string strPostData)
string strReturn = "";
HttpWebRequest objRequest = null;
ASCIIEncoding objEncoding = new ASCIIEncoding();
Stream reqStream = null;
HttpWebResponse objResponse = null;
StreamReader objReader = null;
objRequest = (HttpWebRequest)WebRequest.Create(StrURL);
objRequest.Method = "POST";
byte objBytes = objEncoding.GetBytes(strPostData);
objRequest.ContentLength = objBytes.Length;
objRequest.ContentType = "application/x-www-form-urlencoded";
reqStream = objRequest.GetRequestStream();
reqStream.Write(objBytes, 0, objBytes.Length);
IAsyncResult ar = objRequest.BeginGetResponse(new AsyncCallback(GetScrapingResponse), objRequest);
ar.AsyncWaitHandle.WaitOne(1000 * 60 * 3, true);
if (objRequest.HaveResponse == false)
throw new Exception("No Response!!!");
objResponse = (HttpWebResponse)objRequest.EndGetResponse(ar);
objReader = new StreamReader(objResponse.GetResponseStream());
strReturn = objReader.ReadToEnd();
catch (Exception exp)
objRequest = null;
objEncoding = null;
reqStream = null;
if (objResponse != null)
objResponse = null;
objReader = null;
Thanks in advance.
20 Dec '11 - 23:28
20 Dec '11 - 23:48
It would help if you could identify on what line you got the error but looking at the code it seem that you are trying to handle a async call in a synchrounous way.
You should call the EndGetResponce from the callback and as such make sure that the data buffer can be accessed (safely) from both methods.
Hope this helps.
This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)