Step-by-step instructions: https://github.com/aspnetzero/aspnet-zero/issues/96#issuecomment-268093697
Use full type name in schema ids:
services.AddSwaggerGen(options =>
{
// ...
options.CustomSchemaIds(x => x.FullName);
});
Related issue: https://github.com/aspnetboilerplate/aspnetboilerplate/issues/2366
Meanwhile, run it synchronously with AsyncHelper:
public override void Execute(long userId)
{
AsyncHelper.RunSync(() => DeleteWebhooks(userId));
}
Pass int.MaxValue for MaxResultCount.
Are you using ngx-bootstrap v1.9.3 as solved in https://github.com/aspnetzero/aspnet-zero-core/issues/439?
See @alirizaadiyahsi's reply below.
Property-inject IAbpSession and check that AbpSession.UserId != null && AbpSession.TenantId != null. It's injected for you in ABP's AppServices and Controllers.
On session persistence, see my answer here: #3975@107058b8-982e-474d-9058-f0df7d850ca7
Restarting the application and AppPool may be sufficient to reset the cache. Alternatively, you can inject ICacheManager and clear the cache yourself:
_cacheManager.GetRolePermissionCache().Clear();
_cacheManager.GetUserPermissionCache().Clear();
Yes, that is another approach.
Usually, a good motivation for that approach is if the column is huge and not frequently accessed. The trade-off is that the database will have to perform a join if you want to draw User with Address.
Another motivation may be to avoid Discriminator column when Extending Non-Abstract Entities. Since User implements the abstract AbpUser in the same solution, this does not apply to your case.
Will this approach create more work for us in the middle and front tier projects?
You can handle the join in your domain manager backend. It should not affect your middle (AppService?) and frontend.
I propose it because we want to make sure upgrading to new versions of Abp is less complicated.
There is no need for such pre-emptive measures. User is unlikely to change drastically - even if it does, a migration is likely less work than the implications of the approach you have proposed.
Please format code properly.
Did you put a breakpoint at Console.WriteLine(e)?