Я хочу повторно использовать объект WebRequest, чтобы файлы cookie и сеанс сохранялись для последующего запроса на сервер. Ниже мой код. Если я пользуюсь функцией Post дважды во второй раз приЭто свойство не может быть установлено после начала записи! на объекте C# WebRequest
request.ContentLength = byteArray.Length;
он будет бросать исключение
Это свойство не может быть установлено после того, как начал писать!
Но как вы можете видеть
dataStream.Close();
Следует закрыть процесс написания! Кто-нибудь знает, что происходит?
static WebRequest request;
public MainForm()
{
request = WebRequest.Create("http://localhost/admin/admin.php");
}
static string Post(string url, string data)
{
request.Method = "POST";
byte[] byteArray = Encoding.UTF8.GetBytes(data);
request.ContentType = "application/x-www-form-urlencoded";
request.ContentLength = byteArray.Length;
Stream dataStream = request.GetRequestStream();
dataStream.Write(byteArray, 0, byteArray.Length);
dataStream.Close();
WebResponse response = request.GetResponse();
Console.WriteLine(((HttpWebResponse)response).StatusDescription);
dataStream = response.GetResponseStream();
StreamReader reader = new StreamReader(dataStream);
string responseFromServer = reader.ReadToEnd();
Console.WriteLine(responseFromServer);
reader.Close();
dataStream.Close();
response.Close();
request.Abort();
return responseFromServer;
}
Как насчет сеансов? (это то же самое с cookie?) – EBAG
Сессии обычно реализуются с использованием файлов cookie. – dtb
Я, хотя эти сессии php - это серверная вещь! поэтому они основаны на cookie? – EBAG