Сжатие строковых данных, возвращаемых из вызова веб-метода, используя gzip и заголовки - PullRequest
1 голос
/ 28 марта 2012

Я слышал, что может быть возможно сжать возвращенные данные из вызова веб-метода. Веб-метод возвращает строку, которую мое клиентское приложение затем использует для создания XML-документа.

Вот фрагмент кода.

[WebMethod]
public string GetRegions()
{
    // Create a new string builder for which the XmlWriter will append to.
    StringBuilder output = new StringBuilder();

    // Create XmlWriter settings
    XmlWriterSettings settings = new XmlWriterSettings();
    settings.Indent = true;
    settings.IndentChars = "    ";

    // Use an XmlWriter and a StringBuilder for outputting the xml.
    using (XmlWriter writer = XmlWriter.Create(output, settings))
    {
        writer.WriteStartDocument();
        writer.WriteStartElement("MyData");
        writer.WriteStartElement("Regions");

        // Get all selectable regions
        RegionList regionList = RegionList.GetSelectable();

        // Loop through every region
        foreach(Region region in regionList.GetList())
        {
            writer.WriteStartElement("Region");
            writer.WriteElementString("RegionId", region.regionID.ToString());
            writer.WriteElementString("Code", region.code);
            writer.WriteElementString("Name", region.name);
            writer.WriteEndElement();

        }

        writer.WriteEndElement();
        writer.WriteEndDocument();

    }
    // Return the xml as a string
    return output.ToString();
}

Я слышал о добавлении чего-либо в заголовки запроса, например «Accept-Encoding: gzip», но я не уверен, как заставить это работать. Кто-нибудь знает решение моей проблемы?

Заранее спасибо.

...