Ich versuche, einige Daten auf einem controller
mit rest api
schreiben.Windows CE Compact Framework HttpWebRequest
Aber etwas Seltsames passiert. Die ersten 1, 2, 3 Schreibvorgänge sind in Ordnung, aber als die Anwendung einfriert und Timeout-Ausnahmen bekommt, schließe ich etwas nicht?
Dies ist code
unter:
WebRequest client = (read) ? HttpWebRequest.Create(ReadUri) : HttpWebRequest.Create(WriteUri);
client.Method = "POST";
client.ContentType = "application/json";
CredentialCache creds = new CredentialCache();
creds.Add(new Uri(WriteUri), "Basic", new NetworkCredential(*******));
client.Credentials = creds;
client.PreAuthenticate = true;
((HttpWebRequest)client).AllowWriteStreamBuffering = true;
client.Timeout = 10000;
//Skipped all data formatting
byte[] data = Encoding.UTF8.GetBytes(req);
client.ContentLength = data.Length;
Stream dataStream = null;
try
{
//HttpWebResponse response = (HttpWebResponse)client.GetResponse();
dataStream = client.GetRequestStream();
dataStream.Write(data, 0, data.Length);
dataStream.Flush();
dataStream.Close();
dataStream.Dispose();
dataStream = null;
}
catch (WebException we)
{
string message = we.Message;
}
finally
{
client = null;
}
Sie sollten wahrscheinlich die Antwort erhalten (nach dem Schreiben in den Anfrage-Stream) und entsorgen Sie es, um die Anfrage von der Verbindung freizugeben. Andernfalls behält es die Antwortdaten bei, bis Sie sich entscheiden, daraus zu lesen. Wird 'client' auf 'null' gesetzt, wird nichts (nicht sofort) freigegeben. –
Ich habe versucht, die Antwort zu hören und arbeitete :) Danke dafür! Wenn Sie eine Antwort geben, werde ich für Sie stimmen, sonst werde ich ich tun. – Combinu