WebRequest - GetRequestStream异常超时

本文关键字:超时 异常 GetRequestStream WebRequest | 更新日期: 2023-09-27 18:18:05

我正在编写这个简短的模块,我必须使用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()来完成请求并处理始终除此之外的请求?

WebRequest - GetRequestStream异常超时

我总是需要使用GetResponse()来完成请求并处理总是除了这个吗?