I noticed i wrote app.UseAbpRequestLocalization(); twice. I remove below one. Result is still same. Any other advice?
Hello, We have issue to change API culture. We have created non-ABP external Blazor server UI project. We send request to api endpoints. But we can not specify request or client culture while sending. Culture info in sending on Accept-Language header.
public override void OnApplicationInitialization(ApplicationInitializationContext context)
{
var app = context.GetApplicationBuilder();
var env = context.GetEnvironment();
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
var supportedCultures = new[]
{
new CultureInfo("en-GB"),
new CultureInfo("tr-TR")
};
app.UseAbpRequestLocalization(options =>
{
options.DefaultRequestCulture = new RequestCulture("en-GB");
options.SupportedCultures = supportedCultures;
options.SupportedUICultures = supportedCultures;
options.RequestCultureProviders = new List<IRequestCultureProvider>
{ new AcceptLanguageHeaderRequestCultureProvider(),
new QueryStringRequestCultureProvider(),
new CookieRequestCultureProvider()};
});
app.UseAbpRequestLocalization();
//app.UseStaticFiles();
//app.MapStaticAssets();
app.MapAbpStaticAssets();
app.UseAbpSecurityHeaders();
app.UseRouting();
app.UseCors();
app.UseAuthentication();
app.UseUnitOfWork();
app.UseDynamicClaims();
app.UseAuthorization();
app.UseSwagger();
app.UseAbpSwaggerUI(options =>
{
options.SwaggerEndpoint("/swagger/v1/swagger.json", "Aizanoi API");
var configuration = context.GetConfiguration();
options.OAuthClientId(configuration["AuthServer:SwaggerClientId"]);
});
app.UseAbpSerilogEnrichers();
app.UseConfiguredEndpoints();
}
We have put above code into ApiHostModule.cs.
Our supported languages are "tr-TR" and "en-GB". How can we correctly configure our api to get culture from request Accept-Language header?
Thank you We solved the problem in a different way.
I have seen this. At line 38, it assigns all permission into custom given role. I also want to choose permission from all permission list. Then assign only chosen ones. Is there a practical way to choose permission?
Hi. I try to add custom role and set permission for that role. I have researched related creating seed data for customer role and permission. There are some solutions for creating role as seed data and adding all permission into that role. But I want to create several roles other than admin role like standard and basic. Furthermore i want to set specific permissions to them.
Can i define role on this class in order to separate permissions?
Shortly I want to
- create multiple role as seed data
- specify permission for each role while seeding them
<br>
When mapping to CityWithNavigationPropertiesDto
, it worked. Also using AsNoTracking
prevented changing. Thanks for reply.
hi
We tried your method but it did not work. We also tried AsnoTracking
method. It worked.
As you see previous code block, we make just get process. So even if ef core tracks the entities, it should not change database value. Why database updates occur?
To prevent data corruption should we always use AsNoTracking
method while getting list? is there any performance effect using AsNoTracking
on project.
On appservice we are getting data as list. After getting list, we change property value using for loop. We get successfully excepted result on UI and in list. Additionally row that related that data at sql also changes.
public virtual async Task<PagedResultDto<CityWithNavigationPropertiesDto>> GetListAsync(GetCitiesInput input)
{
var totalCount = await _cityRepository.GetCountAsync(input.FilterText, input.Name, input.IsActive, input.CountryId);
var items = await _cityRepository.GetListWithNavigationPropertiesAsync(input.FilterText, input.Name, input.IsActive, input.CountryId, input.Sorting, input.MaxResultCount, input.SkipCount);
var tmp = items.FirstOrDefault();
tmp.City.Name = "newValue";
return new PagedResultDto<CityWithNavigationPropertiesDto>
{
TotalCount = totalCount,
Items = ObjectMapper.Map<List<CityWithNavigationProperties>, List<CityWithNavigationPropertiesDto>>(items)
};
}
For test purposes, as you see above code we assing 'newValue' first item of list. It is okey, it changes. But it also changes database row of it. We also disable UOW, but result is same. On appservice we just get list , not create or update entity, despite this it updates value.
--------------------------------------------------------------------------------------------- By the way, we renewed our license but our ticket count did not renew to 30.
When we manually delete cookies for this question;
What can be done about this?