C# Windows Ce Compact Framework HttpWebRequest
我正在尝试使用C# Windows Ce Compact Framework HttpWebRequest,c#,httpwebrequest,compact-framework,windows-ce,C#,Httpwebrequest,Compact Framework,Windows Ce,我正在尝试使用restapi在控制器上写入一些数据 但奇怪的事情正在发生。前1、2、3次写入都很好,但应用程序会冻结并超时异常我是否没有关闭某些东西 这是下面的代码: WebRequest client = (read) ? HttpWebRequest.Create(ReadUri) : HttpWebRequest.Create(WriteUri); client.Method = "POST"; client.ContentType = "a
restapi
在控制器上写入一些数据
但奇怪的事情正在发生。前1、2、3次写入都很好,但应用程序会冻结并超时异常我是否没有关闭某些东西
这是下面的代码
:
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;
}
发送请求后,您应该处理响应并进行处理。如果不这样做,则在引擎盖下,请求及其响应将与连接保持关联,并且.NET默认情况下只有少数连接可用于WebRequest
s
...
dataStream.Close();
dataStream.Dispose();
dataStream = null;
using (HttpWebResponse response = (HttpWebResponse)client.GetResponse())
{
}
发送请求后,您应该处理响应并进行处理。如果不这样做,则在引擎盖下,请求及其响应将与连接保持关联,并且.NET默认情况下只有少数连接可用于WebRequest
s
...
dataStream.Close();
dataStream.Dispose();
dataStream = null;
using (HttpWebResponse response = (HttpWebResponse)client.GetResponse())
{
}
您可能应该(在写入请求流之后)获得响应,并对其进行处理以从连接中释放请求。否则,它将保留响应数据,直到您决定从中读取。将client
设置为null
不会释放任何内容(无论如何,不会立即释放)。我尝试倾听响应并工作:)谢谢!如果您做出回答,我将投您一票,否则我将投您一票。您可能应该得到响应(在写入请求流之后)并将其处理以从连接中释放请求。否则,它将保留响应数据,直到您决定从中读取。将client
设置为null
不会释放任何内容(无论如何,不会立即释放)。我尝试倾听响应并工作:)谢谢!如果你回答,我会投你一票,否则我会投你一票。