Как я могу получить Content-Length от службы в методах WCF? - PullRequest
1 голос
/ 15 сентября 2010

Мой сервис использует WCFbinding типа wshttpbind.

Как я могу получить Content-Length?

1 Ответ

2 голосов
/ 15 сентября 2010

Вы можете попробовать использовать этот код в своей операции:

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

Edit:

Длина ответа неизвестна до тех пор, пока данные ответа не будут сериализованы и сообщение не отформатировано. По архитектуре это происходит вне самого класса обслуживания. Вы можете попытаться создать собственный MessageEncoder и получить длину содержимого в переопределенном методе WriteMessage.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...