2011-05-20 51 views
2

每次對服務器的調用都獲得Accept-Language值,但是我可以在Silverlight客戶端中獲取該信息嗎?我發現System.Windows.Browser.HtmlPage.BrowserInformation但它不包含用戶語言首選項。在Silverlight中檢索Accept-Language瀏覽器設置

+1

如果我們知道您爲什麼需要它,這將有所幫助嗎?例如,它可能是'System.Threading.Thread.CurrentThread.CurrentCulture'或'CurrentUICulture'是你正在尋找的。 – AnthonyWJones 2011-05-20 12:30:25

+1

這是信息的一部分。 Accept-Language包含用戶理解的語言列表,按照優先級遞減順序。如果資源在用戶的首選語言中不可用,我會嘗試匹配另一個。 – Mart 2011-05-23 07:06:47

回答

1

您的意思是通過.net中的「Request.Headers [」Accept-Language「]」獲得的值。我只是向Web服務添加一個方法,該方法向Silverlight提供數據以返回它,然後在應用程序啓動時從Silverlight請求它。

我通常使用服務器端.net WCF服務備份我的Silverlight應用程序,因此我只需爲此類信息添加一個方法。

如果您不想使用webservice方法,也可以在啓動時使用initParms將它傳遞給Silverlight應用程序。

+0

Request.Headers [「Accept-Language」]恰恰是我需要的數據,並且由於它是公開的,並且由客戶端提供,所以我希望在客戶端讀取它,並省去服務器的往返。無論如何,您的第二個建議實際上更好,因爲我從服務器生成託管頁面。如果沒有其他直接的.net調用被發現,我會接受你的答案。 – Mart 2011-05-23 07:09:58