2011-03-18 173 views
3

我有一個從服務器下載內容的WCF客戶端。獲取內容WCF響應類型

服務合同是;

[OperationContract] 
     [WebGet(
       UriTemplate = "/my/service/url/{method}/{filename}?tradeId={tradeId}&docType={docType}&language={language}&version={version}", 
       ResponseFormat = WebMessageFormat.Json, 
       BodyStyle = WebMessageBodyStyle.Bare)] 
     Stream GetDocument(string method, string filename, string tradeId, string docType, string version, string language); 

返回類型是Stream。我所做的只是將該流寫入文件並且它可以工作。

現在,我想對此進行修改。我想知道下載文檔的MIME類型。我知道它在服務器上正確設置。我只需要檢索它。

我幾乎沒有WCF的經驗,也不知道該怎麼做。有人可以讓我知道嗎?

非常感謝

回答

5

你必須可以訪問OperationContextWebOperationContext。爲了達到這個目的客戶使用OperationContextScope

using (var scope = new OperationContextScope((IContextChannel)proxy)) 
{ 
    Stream document = proxy.GetDocument(...); 
    string contentType = WebOperationContext.Current.IncomingResponse.ContentType; 
} 
+0

非常感謝。這個對我有用 :) – Kevin 2011-03-18 16:38:05