1
我正在写这个简短的模块,我必须用PUT方法修改寻址的资源。我使用WebRequest
类来创建此URI请求,并使用GetRequestStream()
来获取要写入的流。 但是,似乎通过以下方法调用了几次成功的方法调用(并使用PUT修改资源)后,我的应用程序挂起,然后抛出一个WebException: The request timed out.
错误。以下是代码的样子:WebRequest - GetRequestStream超时异常
public void SendOffMessageToResource(int res_ID){
var httpWebRequest = WebRequest.Create ("http://192.168.x.x/api/sample_user/resources/1/state");
httpWebRequest.ContentType = "application/json";
httpWebRequest.Method = "PUT";
using (var streamWriter = new StreamWriter(httpWebRequest.GetRequestStream())) //here's where the VS seems to take a long long time to step over to the next line when the error happens.
{
string json = "{\"on\":false}";
streamWriter.Write(json);
streamWriter.Close();
}
}
我已经在处理StreamWriter。我甚至没有使用GetResponse()
方法,因为我需要对此URI进行的所有操作实际上都是使用PUT
方法修改所寻址的资源。我不知道为什么它仍然会抛出错误并挂起应用程序。以前的线程搜索只显示人们应该使用using
语句来处理资源,但我已经这么做了,或者我错过了某些东西?我是否总是需要使用GetResponse()
来完成请求并处理除此之外的任何内容?