Thanks for letting us know!
Resolved here: https://stackoverflow.com/questions/48445953/overriding-signalr-contract-resolver-in-asp-net-boilerplate
Is the client calling Save in more than one place?
Set its order:
options.Filters.AddService(typeof(ExceptionFilter), order: 1);
Did you remove SendAllExceptionsToClients = true?
That's great :)
Oh, you need to await async methods:
public override async Task<int> SaveChangesAsync(CancellationToken cancellationToken = new CancellationToken())
{
try
{
return await base.SaveChangesAsync(cancellationToken);
}
catch (AbpDbConcurrencyException e)
{
throw new UserFriendlyException(e.Message, e);
}
}
Refer to these test cases:
// Should be called. Permission3 is not granted but Permission1 is granted.
[AbpAuthorize("Permission1", "Permission3")]
public virtual void MethodWithPermission1AndPermission3()
{
}
// Should not be called. Permission3 is not granted and it required all permissions must be granted
[AbpAuthorize("Permission1", "Permission3", RequireAllPermissions = true)]
public virtual void MethodWithPermission1AndPermission3WithRequireAll()
{
}
For all methods or just SignalR Hub?
Then why don't you throw UserFriendlyException?
Do you want to return PascalCase or camelCase?