如何从WCF方法中获取Content-Length?

时间:2010-09-15 08:54:53

标签: wcf

我的服务使用WCFbinding类型的wshttpbind

如何获得Content-Length

1 个答案:

答案 0 :(得分:2)

您可以尝试在操作中使用此代码:

MessageProperties properties = OperationContext.Current.IncommingMessageProperties;
var httpProperty = properties[HttpRequestMessageProperty.Name] as HttpRequestMessageProperty;
int length = Int32.Parse(httpProperty.Headers["Content-Length"]);

修改

在响应数据被序列化并且格式化消息之前,不知道响应长度。通过体系结构,这发生在服务类本身之外。您可以尝试创建自定义MessageEncoder并在重写WriteMessage方法中获取内容长度。