Hi,
I'm facing an issue because of background worker culture (which is en-US by default). I would like to set it to tenant default language.
I already used CultureHelper class to convert a datetime value to the right format string.
But here, I need to set the whole thread of backgroundworker to the tenant culture.
I'm planning to use following code within DoWork method :
System.Threading.Thread.CurrentThread.CurrentCulture = ...
Is ABP framework providing an other way to do it ? Do I need to come back to the previous culture at the en of DoWork method process ?
Tks for you support
3 Answer(s)
-
0
Hi,
You can inject IAbpSession into your background worker class and use it's Use method. Something like;
using (_session.Use(42, null)) { var tenantId = _session.TenantId; //42 var userId = _session.UserId; //null }
For more information, see https://aspnetboilerplate.com/Pages/Documents/Abp-Session#user-identifier
-
0
Tks @ismcagdas.
I've read the documentation but I'm not sure : do you mean that injecting AbpSession will automatically set the tenant/user default culture inside the using block ?
Access to tenant/user settings can also be done in this way within a background worker ?
BTW, I've used CultureHelper class (like it is ised on useremailer class) to format date strings within background workers.
-
0
I've read the documentation but I'm not sure : do you mean that injecting AbpSession will automatically set the tenant/user default culture inside the using block ?
@ricavir yes, exactly. Did you have a chance to try that ?