我使用 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.
,这显然是因为流读取器在执行我的业务逻辑之前就被释放了。
问题是“处理它是否正确?” 我应该直接关闭它吗?或者根本不用担心关闭?在我的方法完成后,框架是否仍然需要该流,或者这一切都由我来玩?