2011-11-22 49 views
2

我想創建httpwebrequest到一個URL(REST API),我正在寫流到目標api服務器。但在寫入流之前,在我的請求對象中:User Agent正在拋出錯誤'request.UserAgent'拋出了類型爲'System.NotImplementedException'的異常。即使我也有硬編碼useragent的價值。與其他兩個參數AllowAutoRedirectCookieContainer相同。另一方面,所有其他參數都具有正確的值或爲零。HttpWebRequest在Silverlight 4

對此有任何幫助,爲什麼UserAgent param正在拋出此錯誤'request.UserAgent'拋出了'System.NotImplementedException'類型的異常。下面是我的web請求:

HttpWebRequest request = (HttpWebRequest)WebRequest.Create(new Uri("TargetAPIIUrl_I am passing here")); 

     request.Method = "POST"; 
     string boundary = "---------------" + DateTime.Now.Ticks.ToString(); 
     string formDataBoundary = "-----------------------------" + DateTime.Now.Ticks.ToString().Substring(0, 14); 
     string contentType = "multipart/form-data; boundary=" + formDataBoundary; 
     request.ContentType = contentType; 
     request.UserAgent = "Hardcoded string of my target API"; 
     request.BeginGetRequestStream(new AsyncCallback(asyncResult => 
     { 
      Stream stream = request.EndGetRequestStream(asyncResult); 

      SilverlightApplication1.TubeUtility.DataContractMultiPartSerializer ser = new   SilverlightApplication1.TubeUtility.DataContractMultiPartSerializer(boundary); 
      ser.WriteObject(stream, parameters); 
      stream.Close(); 
      request.BeginGetResponse(callback, request); 
     }), request); 

回答

0

UserAgentAllowAutoRedirect特性的存在是爲了保持與.NET Framework HttpWebRequest然而無論是ClientHTTP也不BrowserHTTP實現支持他們一定的一致性。

有可能使用CookieContainer與ClientHTTP堆棧,BrowserHTTP堆棧當然會使用主機瀏覽器的cookie管理。