Как сделать сжатие в спокойной службе wcf, возвращающей json

У меня есть спокойная служба WCF, которая возвращает JSON. Мне было интересно, как я могу сжать данные? Я читал, что HTTP поддерживает сжатие, только не знаю, как его включить. Я как бы надеялся, что это будет украшение метода. Ниже приведен код моего веб-сервиса. В идеале я ищу некоторые примеры кода или статьи для чтения, я гуглил и пока ничего не нашел, мой google-foo сегодня слаб.

[ServiceContract]
[AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)]
[ServiceBehavior(InstanceContextMode = InstanceContextMode.PerCall)]
public class FooService
{
    [WebInvoke(UriTemplate = "Foo", Method = "POST", BodyStyle = WebMessageBodyStyle.Bare, ResponseFormat = WebMessageFormat.Json, RequestFormat = WebMessageFormat.Json)]
    public string Foo(string aParameter)
    {
        int number = int.Parse(aParameter);
        number++;
        return "I added 1 to your number and got " + number;

    }
}

person odyth    schedule 06.07.2011    source источник


Ответы (2)


Вы можете добавить сжатие GZip в службу с поддержкой REST на основе WCF.

Вот как.

person KMån    schedule 06.07.2011

Попробуйте это сжатие C#, оно работает как чемпион по сжатию в памяти! И это бесплатно!! http://www.codeproject.com/KB/cs/IMCompressor.aspx

person the guy    schedule 06.07.2011