3

我使用 WCF支持“application/x-www-form-urlencoded”发布数据的最佳方式中建议的方法将数据发布到 WCF?

我正在按照http://blogs.southworks.net/erossetto/2007/09/03/raw-http-post-with-wcf/中的示例进行操作,并且一切正常。但是,一个问题是请求中的流的管理。我创建了一个辅助方法,例如

    public static NameValueCollection ParsePOSTRequest(Stream input)
    {
        StreamReader sr = new StreamReader(input);
        string s = sr.ReadToEnd();
        sr.Dispose();

        return HttpUtility.ParseQueryString(s);
    }

我在我所有的方法中都调用它,这样我就可以更容易地查找参数。现在我在尝试通过WebOperationContext.Current. 任何属性或方法都会抛出一个异常The System.ServiceModel.Channels.MessageProperties object has been disposed.,这显然是因为流读取器在执行我的业务逻辑之前就被释放了。

问题是“处理它是否正确?” 我应该直接关闭它吗?或者根本不用担心关闭?在我的方法完成后,框架是否仍然需要该流,或者这一切都由我来玩?

4

0 回答 0