Hi,
You can change the cache time:
Configure<AbpAspNetCoreMvcClientCacheOptions>(options =>
{
options.ApplicationConfigurationDtoCacheAbsoluteExpiration = TimeSpan.FromMinutes(5);
});
Hi,
I don't know what blocked you.
Could you describe exactly what problem you're having?
As I understand, you can custom the login model to do it, just check the current tenant.
Hi,
Related question: https://support.abp.io/QA/Questions/4392/Blazor-WASM-SystemObjectDisposedException-Cannot-access-a-disposed-object-of-dependency-injection-replacement--scenario-of-UserManagement
The component will be disposed when you switch pages, it is not related to ABP. but we can try to avoid this problem, I will check it.
Hi,
I can't run this project, can you provide an azure SignalR connect string?
Hi,
You can try:
public abstract class EventDataWithCultureName
{
public class CultureName {get; set;}
}
public class MyEventData: EventDataWithCultureName
{
......
}
await _distributedEventBus.PublishAsync(
new MyEventData
{
CultureName = CultureInfo.CurrentCulture.Name
}
);
public class MyHandler: IDistributedEventHandler<MyEventData>, ITransientDependency
{
public async Task HandleEventAsync(MyEventData eventData)
{
using (CultureHelper.Use(CultureInfo.GetCultureInfo(eventData.CultureName)))
{
....
}
}
}
Hi,
You can try this:
public class MyTenantResolveContributor : HttpTenantResolveContributorBase
{
public const string ContributorName = "Custom";
public override string Name => ContributorName;
protected override Task<string> GetTenantIdOrNameFromHttpContextOrNullAsync(ITenantResolveContext context, HttpContext httpContext)
{
if (httpContext.Request.QueryString.HasValue)
{
var tenantKey = "tenantId"
if (httpContext.Request.Query.ContainsKey(tenantKey))
{
var tenantValue = httpContext.Request.Query[tenantKey].ToString();
if (tenantValue.IsNullOrWhiteSpace())
{
context.Handled = true;
return Task.FromResult<string>(null);
}
return Task.FromResult(tenantValue);
}
}
return Task.FromResult<string>(null);
}
}
Configure<AbpTenantResolveOptions>(options =>
{
options.TenantResolvers.Insert(1, new MyTenantResolveContributor());
});
Hi,
We will fix the problem, your ticket was refunded.
Could you share a project to reproduce it? I will check it. shiwei.liang@volosoft.com
Hi,
You can try:
public sealed class SampleAppService_Tests : IdentityServiceDomainTestBase
{
private readonly IUserAppService _userAppService;
private ISettingManagementStore _abpSettingStore;
protected override void BeforeAddApplication(IServiceCollection services)
{
_abpSettingStore = Substitute.For<ISettingManagementStore>();
services.AddSingleton(_abpSettingStore);
base.BeforeAddApplication(services);
}
public SampleAppService_Tests()
{
_userAppService = GetRequiredService<IUserAppService>();
}
[Fact]
public async Task Test()
{
var test = await _userAppService.CreateUser(new UserCreateInput()
{
UserName = "TestUserName",
Email = "test@test.com"
}, ERole.External);
}
}
Hi,
Could you provide the full steps to reproduce the problem? thanks.