Comment compresser un POST HttpWebRequest

Je suis en train de publier des données à un serveur qui accepte les données compressées. Le code ci-dessous fonctionne très bien, mais il n'est pas compressé. Je n'ai pas travaillé avec la compression ou Gzip beofre, de sorte que toute aide est appriciated.

HttpWebRequest request = WebRequest.Create(uri) as HttpWebRequest;
  request.Timeout = 600000;
  request.Method = verb;  //POST    
  request.Accept = "text/xml";

  if (!string.IsNullOrEmpty(data))
  {
    request.ContentType = "text/xml";        

    byte[] byteData = UTF8Encoding.UTF8.GetBytes(data);
    request.ContentLength = byteData.Length;       

    //Here is where I need to compress the above byte array using GZipStream

    using (Stream postStream = request.GetRequestStream())
    {
      postStream.Write(byteData, 0, byteData.Length);         
    }
  }      

  XmlDocument xmlDoc = new XmlDocument();
  HttpWebResponse response = null;
  StreamReader reader = null;
  try
  {
    response = request.GetResponse() as HttpWebResponse;
    reader = new StreamReader(response.GetResponseStream());
    xmlDoc.LoadXml(reader.ReadToEnd());
  }

Dois-je gzip l'ensemble du tableau d'octets? Ai-je besoin d'ajouter d'autres en-têtes ou de supprimer celui qui est déjà là?

Merci!

-Scott

source d'informationauteur Scott