WebRequest - GetRequestStream超时,异常

时间:2015-10-17 21:08:54

标签: c# .net httpwebrequest webrequest put

我正在编写这个简短的模块,我必须使用PUT方法修改已寻址的资源。我正在使用WebRequest类来发出此URI请求,使用GetRequestStream()来获取要写入的流。 但是,似乎经过几次成功的方法调用(并使用PUT修改资源)通过下面的方法,我的应用程序挂起然后抛出WebException: The request timed out.错误。这是代码的样子:

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()来完成请求并始终处理此请求?

1 个答案:

答案 0 :(得分:0)

  

我是否总是需要使用GetResponse()来完成请求并除此之外一直处理该请求?

是的,就是这样。