2016-04-06 17 views
0

Bu, Visual Studio Team Services (Visual Studio Online) ve şirket içi TFS ile bağlanmak için kullanılan REST API'sıdır. Üstbilgileri ayarlamak istiyorum, böylece isteklerimi sıkıştırabilirim, ancak API belgeleri gzip'in desteklenmediğini belirtmiyor. Birinin tecrübesi olabileceğini umuyorum.TFS Rest API'si gzip kodlamasını destekliyor mu?

using (var wc = new WebClient()) 
{ 
    wc.Credentials = TfsCredentials; 
    wc.Headers[HttpRequestHeader.ContentEncoding] = "gzip"; 
    wc.Headers[HttpRequestHeader.ContentType] = "application/json"; 
    var gzipByteArray = GZipBytes(serializedJson); 
    var uploadResponse = wc.UploadData(repoUri, gzipByteArray); 
    return Encoding.UTF8.GetString(uploadResponse); 
} 

Tepki aşağıdaki hata mesajı ile, bir 400:

The body of the request contains invalid Json. Parameter name: contentStream 

cevap

1

Ben de bu konuda herhangi bir belgelerine bulamıyor. Ama ben gzip kompres ile ve curl olmadan test ettim. Yanıt büyüklüğü gerçekten gzip ile sıkıştırılmıştır ve yanıt doğru şekilde açılabilir. Yani desteklenmeli. enter image description here

+0

Yeteri kadar benim için! Denemek için sabırsızlanıyorum. –

+0

Gzip yanıtlarını almak için doğru olduğunuz anlaşılıyor. Ancak, sunucuya bir yükleme gzip çalışıyorum. Özür dilerim, cevabı kabul etmedim. Ben de şu ana kadarki sonuçlarım ile sorunu güncelliyorum. –

+0

@AJMorris "Content-Encoding: gzip" ile deneyebilir misiniz? Gönderdiğiniz içerik hala uygulama/json olduğu için üstbilgide "Content-Type: application/json" yazmalısınız. –