2015-10-20 28 views
1

我正在使用2010 SharePoint列表web服務來返回內容類型,它是通過c#應用程序的字段。圖書館是一個網頁,其語言設置爲威爾士語,但使用英語的另一種語言。這意味着如果瀏覽器中的Internet選項設置爲英文,則該庫顯示爲英文。 我已經能夠爲使用客戶端對象所做的請求設置Accepts-Language標頭,但尚未能爲Web服務執行此操作。設置請求標頭SharePoint網絡服務

是否有可能通過SharePoint Web Services發出的請求上看到標題,如果是這樣,如何實現?

回答

1

在ASMX Web服務的情況下,你可以考慮使用以下方法。 SoapHttpClientProtocol Class包含GetWebRequest Method,可用於指定自定義標頭。

一旦生成代理類,創建一個從它派生的類和設置自定義首部,如下所示:

public class ListsEx : Lists 
{ 
    protected override WebRequest GetWebRequest(Uri uri) 
    { 
     var request = base.GetWebRequest(uri); 
     //Add the Accept-Language header (for Danish) in the request. 
     request.Headers.Add("Accept-Language:da"); 
     return request; 
    } 
} 

其中Lists是生成的代理類的名稱。

使用

using (var client = new ListsEx()) 
{ 
     client.Url = webUri + "/_vti_bin/Lists.asmx"; 
     var reult = client.GetList("Pages"); 
      //... 
} 

結果

enter image description here