こんにちは–「Accept-Language」ヘッダーに基づいてCurrentUICultureを設定することにより、エラー文字列などのサーバー側のローカリゼーションを処理することを計画していますが、非同期呼び出しでは流れないようです。以下は問題を説明するためのサンプルコード、非同期呼び出しのローカリゼーションを処理するデフォルトの方法はありますか?
public async Task<HttpResponseMessage> GetAsync()
{
//set the current ui culture, to say "fr-FR", based on "Accept-Language" header
Thread.CurrentThread.CurrentUICulture = CultureInfo.GetCultureInfo("**fr-FR**");
var task = httpClient.PutAsync(endpoint, content)
//do some processing
var res = await task;
var culture = Thread.CurrentThread.CurrentUICulture.Name; **//ITS NOT necessarily fr-FR**
//do some more processing
//and handle localizations etc.
return res;
}
特に実際の非同期操作がある場合に、ローカリゼーションを処理するためのよりクリーンでシームレスな方法を探しています。await呼び出しに続くコードの場合
編集:わかりやすくするために、Task.Run()をhttpClient.PutAsyncに置き換えました