Ich habe eine MVC-app, wo ich meine Basis Controller OnActionExecuting()
Methode überschreiben, um meinen Thread Kultur gesetzt:Asynchronität und Faden Kultur
protected override void OnActionExecuting(ActionExecutingContext filterContext) {
var langCode = GetLangCode();
Thread.CurrentThread.CurrentUICulture = new CultureInfo(langCode);
Thread.CurrentThread.CurrentCulture = new CultureInfo(langCode);
}
Wie ich asynchron mehr zu programmieren, haben damit begonnen, ich bin gespannt, wie Kultur beibehalten, wenn wir den Thread, dessen Kultur wir geändert haben, an den Thread-Pool zurückgeben, und ein neuer Thread wird ausgelöst, wenn die Async-Aufgabe abgeschlossen ist? Irgendwelche Fehler, denen ich bewusst sein sollte?
Wird die nächste Anfrage, die von diesem Thread bearbeitet wird, nicht auch eine 'OnActionExecuting'-Fahrt unternehmen? –
@ LasseV.Karlsen Jede Anfrage sollte 'OnActionExecuting' ausführen, aber kann nicht jede Anfrage von mehreren Threads bedient werden? Wenn ich in meiner Datenzugriffsschicht ein asynchrones Modell für die Kommunikation mit der Datenbank verwende, könnte ich dann nicht zwei separate Threads für den Verlauf der Anfrage erhalten, eine, in der die Kultur geändert wurde, und die andere nicht? –
Das scheint möglich, weiß nicht genug darüber, sorry. Gibt es eine Chance, dass Sie .NET 4.5 verwenden? Wenn ja, schauen Sie sich [CultureInfo.DefaultThreadCurrentCulture] (https://msdn.microsoft.com/en-us/library/system.globalization.cultureinfo.defaultthreadcurryculture%28v=vs.110%29.aspx) an –