簡體   English   中英

默認的 Culture 和 UICulture 是如何確定的?

[英]How is the default Culture and UICulture determined?

InitializeCulture()方法可以被覆蓋,您可以輕松選擇自己的Page.CulturePage.UICulture 您還可以在Web.config添加全球化部分或在 BasePage 中設置區域性。 但是這些屬性的默認值是如何確定和設置的呢? UICulture 是否取自瀏覽器請求的接受標頭? 文化是取自服務器嗎?

請注意,我不是在問這兩個屬性之間區別,而是在我沒有在應用程序中的任何地方設置默認值時,在哪里或何時設置默認值。 那么我的應用程序之外的哪些瀏覽器、用戶、服務器、...設置會影響該值?

UICulturePage.CurrentThread.CurrentUICulture的快捷方式,根據文檔

UI 文化指定應用程序支持用戶輸入和輸出所需的資源,默認情況下與操作系統文化相同。

至於Culture ,它又是一個正在運行的線程的屬性,但這里的 default 是以更復雜的方式確定的, 這里解釋 一個簡短的總結:

  1. 檢查應用程序域中的 DefaultThreadCurrentCulture 屬性
  2. 如果我們在 .Net 4.6 或更高版本中並且當前線程是由其他線程調用的任務,請嘗試獲取調用者的文化
  3. 通過調用 Windows GetUserDefaultLocaleName 函數(再次 OS)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM