I\'ve written code about httpwebrequest
and httpwebresponse
. I need to send data to server but got this exception \"This operation cannot be performed
when you get the response stream the request is submitted so you can not the operation there...
Try it like:
HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://"+remoteServer+":8080/");
request.Credentials = CredentialCache.DefaultCredentials;
//Stream NewReqstream = request.GetRequestStream();
request.Method = "POST";
//request.ContentLength = cmd.Length;
// Send the command
//clientSocket.Send(cmd);
Stream NewReqstream = request.GetRequestStream(); //<-- Error here
NewReqstream.Write(cmd, 0, cmd.Length);
NewReqstream.Close();
// Get the response
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
Console.WriteLine("Connected..");
The exception tells you what you need to know; HTTP is request => response, so if you have asked for the response (GetResponse()
) you have implicitly said "my request is complete; give me the response". Move the GetRequestStream()
code above the GetResponse()
.