Activities of "Rrader30"

  • ABP Framework version: v4.4.2
  • UI type: Angular
  • DB provider: EF Core
  • Tiered (MVC) or Identity Server Separated (Angular): yes
  • Exception message and stack trace:
  • Steps to reproduce the issue:"

Hello. I am currently using devexpress tagbox to have input tags. My issue is when you add a tag you have to hit the enter button and the tag adds but the ABP submit button also triggers. How can I setup the submit button so it does not trigger on hitting enter button?

bunyamin, So I currently do not have (ngSubmit). Here is my submit button

<ng-template #abpFooter> <button type="button" class="btn btn-secondary" abpClose> {{ 'AbpUi::Cancel' | abpLocalization }} </button>

&lt;abp-button type=&quot;submit&quot; iconClass=&quot;fa fa-check&quot; (click)=&quot;submitForm()&quot; [disabled]=&quot;form?.invalid&quot;&gt;
  {{ 'AbpUi::Save' | abpLocalization }}
&lt;/abp-button&gt;

</ng-template>

  • ABP Framework version: v4.2.2
  • UI type: Angular
  • DB provider: EF Core
  • Tiered (MVC) or Identity Server Separated (Angular): Identity Server bundled with backend/frontend is angular
  • Exception message and stack trace:
  • Steps to reproduce the issue: Run backend code, authorize code in swagger ui and get 500 error

When I deploy the .NET backend code to azure in a playground to see it all work. I am getting a 500 error when I access the authorize in swagger. Here is my app.setting file

{ "App": { "SelfUrl": "http://materialdbapi.azurewebsites.net", "AngularUrl": "http://materialdbapi.azurewebsites.net", "CorsOrigins": "http://materialdbapi.azurewebsites.net", "RedirectAllowedUrls": "http://materialdbapi.azurewebsites.net" }, "Redis": { "Configuration": "127.0.0.1", "InEnabled": "false" }, "ConnectionStrings": { "Default": "Server=tcp:tcgcorpsitedev.database.windows.net,1433;Initial Catalog=TiberConstruction;Persist Security Info=False;User ID=<username>;Password=<password>;MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;" }, "AuthServer": { "Authority": "http://materialdbapi.azurewebsites.net", "RequireHttpsMetadata": "false", "SwaggerClientId": "MaterialDatabase_Swagger", "SwaggerClientSecret": "1q2w3e" }, "StringEncryption": { "DefaultPassPhrase": "SJWiQooPdpFwOiuN" }, "Settings": { "Volo.Abp.LeptonTheme.Style": "Style6", "Volo.Abp.LeptonTheme.Layout.MenuPlacement": "Left", "Volo.Abp.LeptonTheme.Layout.MenuStatus": "AlwaysOpened", "Volo.Abp.LeptonTheme.Layout.Boxed": "False" } }

  • ABP Framework version: v4.3.3
  • UI type: Angular
  • DB provider: EF Core
  • Tiered (MVC) or Identity Server Separated (Angular): Identity Server Separated (Angular)
  • Exception message and stack trace:

This site can’t be reachedThe webpage at https://localhost:44350/api/file-management/file-descriptor/download/ee301db0-5092-0437-3545-39ffeeafb36e?token=752f06c9-3310-43b5-8a8f-3b34cb52cae1 might be temporarily down or it may have moved permanently to a new web address. ERR_INVALID_RESPONSE

  • Steps to reproduce the issue:" Upload File to File management, click on or download file and get this error.

I installed File-Management component to my project. When I upload a file things work fine. When I go to download or simply click on file name I get the error

This site can’t be reachedThe webpage at https://localhost:44350/api/file-management/file-descriptor/download/ee301db0-5092-0437-3545-39ffeeafb36e?token=752f06c9-3310-43b5-8a8f-3b34cb52cae1 might be temporarily down or it may have moved permanently to a new web address. ERR_INVALID_RESPONSE

If you go to the backend service and manually run it through SWAG the file appears to be corrupt.

Here is the log file entries

2021-11-01 17:11:38 ::1 GET /api/file-management/file-descriptor/download/e4bd11f8-341c-79ca-1e21-39ffee85d537 token=ddb88a0b-e5c0-4ce2-97ed-30149c796e90 44350 - ::1 Mozilla/5.0+(Windows+NT+10.0;+Win64;+x64)+AppleWebKit/537.36+(KHTML,+like+Gecko)+Chrome/95.0.4638.54+Safari/537.36 http://localhost:4200/ 406 0 0 62 2021-11-01 17:11:39 ::1 GET /health-status - 44350 - ::1 - - 200 0 0 9 2021-11-01 17:11:49 ::1 GET /health-status - 44350 - ::1 - - 200 0 0 8 2021-11-01 17:11:59 ::1 GET /health-status - 44350 - ::1 - - 200 0 0 8 2021-11-01 17:12:09 ::1 GET /health-status - 44350 - ::1 - - 200 0 0 8 2021-11-01 17:12:19 ::1 GET /health-status - 44350 - ::1 - - 200 0 0 9 2021-11-01 17:12:29 ::1 GET /health-status - 44350 - ::1 - - 200 0 0 8 2021-11-01 17:12:39 ::1 GET /health-status - 44350 - ::1 - - 200 0 0 9 2021-11-01 17:12:49 ::1 GET /health-status - 44350 - ::1 - - 200 0 0 8 2021-11-01 17:12:59 ::1 GET /health-status - 44350 - ::1 - - 200 0 0 8 2021-11-01 17:13:09 ::1 GET /health-status - 44350 - ::1 - - 200 0 0 9 2021-11-01 17:13:19 ::1 GET /health-status - 44350 - ::1 - - 200 0 0 9 2021-11-01 17:13:29 ::1 GET /health-status - 44350 - ::1 - - 200 0 0 9 2021-11-01 17:13:39 ::1 GET /health-status - 44350 - ::1 - - 200 0 0 8 2021-11-01 17:13:49 ::1 GET /health-status - 44350 - ::1 - - 200 0 0 9 2021-11-01 17:13:59 ::1 GET /health-status - 44350 - ::1 - - 200 0 0 8 2021-11-01 17:14:10 ::1 GET /health-status - 44350 - ::1 - - 200 0 0 8 2021-11-01 17:14:20 ::1 GET /health-status - 44350 - ::1 - - 200 0 0 9 2021-11-01 17:14:30 ::1 GET /health-status - 44350 - ::1 - - 200 0 0 9 2021-11-01 17:14:40 ::1 GET /health-status - 44350 - ::1 - - 200 0 0 8 2021-11-01 17:14:50 ::1 GET /health-status - 44350 - ::1 - - 200 0 0 9 2021-11-01 17:15:00 ::1 GET /health-status - 44350 - ::1 - - 200 0 0 9 2021-11-01 17:15:10 ::1 GET /health-status - 44350 - ::1 - - 200 0 0 8 2021-11-01 17:15:20 ::1 GET /health-status - 44350 - ::1 - - 200 0 0 8 2021-11-01 17:15:30 ::1 GET /health-status - 44350 - ::1 - - 200 0 0 9 2021-11-01 17:15:40 ::1 GET /health-status - 44350 - ::1 - - 200 0 0 8 2021-11-01 17:15:50 ::1 GET /health-status - 44350 - ::1 - - 200 0 0 9 2021-11-01 17:16:00 ::1 GET /health-status - 44350 - ::1 - - 200 0 0 9 2021-11-01 17:16:10 ::1 GET /health-status - 44350 - ::1 - - 200 0 0 8 2021-11-01 17:16:20 ::1 GET /health-status - 44350 - ::1 - - 200 0 0 9 2021-11-01 17:16:23 ::1 GET /api/file-management/file-descriptor/download/e4bd11f8-341c-79ca-1e21-39ffee85d537 token=ddb88a0b-e5c0-4ce2-97ed-30149c796e90 44350 - ::1 Mozilla/5.0+(Windows+NT+10.0;+Win64;+x64)+AppleWebKit/537.36+(KHTML,+like+Gecko)+Chrome/95.0.4638.54+Safari/537.36 http://localhost:4200/ 406 0 0 63

My next question is, is there a way to use this component within another component? If so, how would you do this with Angular?

I just noticed in the audit logs this error. I checked the authorizations and admin seems to have everything granted to it. So not sure why the error

         [

{ "code": null, "message": "Invalid download token: fffe6dc3-27a4-46f5-aa25-00f0e1869c3a", "details": "AbpAuthorizationException: Invalid download token: fffe6dc3-27a4-46f5-aa25-00f0e1869c3a\r\nSTACK TRACE: at Volo.FileManagement.Files.FileDescriptorAppService.DownloadAsync(Guid id, String token)\r\n at Castle.DynamicProxy.AsyncInterceptorBase.ProceedAsynchronous[TResult](IInvocation invocation, IInvocationProceedInfo proceedInfo)\r\n at Volo.Abp.Castle.DynamicProxy.CastleAbpMethodInvocationAdapterWithReturnValue1.ProceedAsync()\r\n at Volo.Abp.Authorization.AuthorizationInterceptor.InterceptAsync(IAbpMethodInvocation invocation)\r\n at Volo.Abp.Castle.DynamicProxy.CastleAsyncAbpInterceptorAdapter1.InterceptAsync[TResult](IInvocation invocation, IInvocationProceedInfo proceedInfo, Func3 proceed)\r\n at Castle.DynamicProxy.AsyncInterceptorBase.ProceedAsynchronous[TResult](IInvocation invocation, IInvocationProceedInfo proceedInfo)\r\n at Volo.Abp.Castle.DynamicProxy.CastleAbpMethodInvocationAdapterWithReturnValue1.ProceedAsync()\r\n at Volo.Abp.GlobalFeatures.GlobalFeatureInterceptor.InterceptAsync(IAbpMethodInvocation invocation)\r\n at Volo.Abp.Castle.DynamicProxy.CastleAsyncAbpInterceptorAdapter1.InterceptAsync[TResult](IInvocation invocation, IInvocationProceedInfo proceedInfo, Func3 proceed)\r\n at Castle.DynamicProxy.AsyncInterceptorBase.ProceedAsynchronous[TResult](IInvocation invocation, IInvocationProceedInfo proceedInfo)\r\n at Volo.Abp.Castle.DynamicProxy.CastleAbpMethodInvocationAdapterWithReturnValue1.ProceedAsync()\r\n at Volo.Abp.Auditing.AuditingInterceptor.ProceedByLoggingAsync(IAbpMethodInvocation invocation, IAuditingHelper auditingHelper, IAuditLogScope auditLogScope)\r\n at Volo.Abp.Auditing.AuditingInterceptor.InterceptAsync(IAbpMethodInvocation invocation)\r\n at Volo.Abp.Castle.DynamicProxy.CastleAsyncAbpInterceptorAdapter1.InterceptAsync[TResult](IInvocation invocation, IInvocationProceedInfo proceedInfo, Func3 proceed)\r\n at Castle.DynamicProxy.AsyncInterceptorBase.ProceedAsynchronous[TResult](IInvocation invocation, IInvocationProceedInfo proceedInfo)\r\n at Volo.Abp.Castle.DynamicProxy.CastleAbpMethodInvocationAdapterWithReturnValue1.ProceedAsync()\r\n at Volo.Abp.Features.FeatureInterceptor.InterceptAsync(IAbpMethodInvocation invocation)\r\n at Volo.Abp.Castle.DynamicProxy.CastleAsyncAbpInterceptorAdapter1.InterceptAsync[TResult](IInvocation invocation, IInvocationProceedInfo proceedInfo, Func3 proceed)\r\n at Castle.DynamicProxy.AsyncInterceptorBase.ProceedAsynchronous[TResult](IInvocation invocation, IInvocationProceedInfo proceedInfo)\r\n at Volo.Abp.Castle.DynamicProxy.CastleAbpMethodInvocationAdapterWithReturnValue1.ProceedAsync()\r\n at Volo.Abp.Validation.ValidationInterceptor.InterceptAsync(IAbpMethodInvocation invocation)\r\n at Volo.Abp.Castle.DynamicProxy.CastleAsyncAbpInterceptorAdapter1.InterceptAsync[TResult](IInvocation invocation, IInvocationProceedInfo proceedInfo, Func3 proceed)\r\n at Castle.DynamicProxy.AsyncInterceptorBase.ProceedAsynchronous[TResult](IInvocation invocation, IInvocationProceedInfo proceedInfo)\r\n at Volo.Abp.Castle.DynamicProxy.CastleAbpMethodInvocationAdapterWithReturnValue1.ProceedAsync()\r\n at Volo.Abp.Uow.UnitOfWorkInterceptor.InterceptAsync(IAbpMethodInvocation invocation)\r\n at Volo.Abp.Castle.DynamicProxy.CastleAsyncAbpInterceptorAdapter1.InterceptAsync[TResult](IInvocation invocation, IInvocationProceedInfo proceedInfo, Func3 proceed)\r\n at Volo.FileManagement.Files.FileDescriptorController.DownloadAsync(Guid id, String token)\r\n at lambda_method3262(Closure , Object )\r\n at Microsoft.AspNetCore.Mvc.Infrastructure.ActionMethodExecutor.AwaitableObjectResultExecutor.Execute(IActionResultTypeMapper mapper, ObjectMethodExecutor executor, Object controller, Object[] arguments)\r\n at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.<InvokeActionMethodAsync>g__Awaited|12_0(ControllerActionInvoker invoker, ValueTask1 actionResultValueTask)\r\n at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.<InvokeNextActionFilterAsync>g__Awaited|10_0(ControllerActionInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)\r\n at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Rethrow(ActionExecutedContextSealed context)\r\n at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted)\r\n at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.<InvokeInnerFilterAsync>g__Awaited|13_0(ControllerActionInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)\r\n at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeNextExceptionFilterAsync>g__Awaited|25_0(ResourceInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)\r\n", "data": null, "validationErrors": null }, { "code": null, "message": "Invalid download token: fffe6dc3-27a4-46f5-aa25-00f0e1869c3a", "details": "AbpAuthorizationException: Invalid download token: fffe6dc3-27a4-46f5-aa25-00f0e1869c3a\r\nSTACK TRACE: at Volo.FileManagement.Files.FileDescriptorAppService.DownloadAsync(Guid id, String token)\r\n at Castle.DynamicProxy.AsyncInterceptorBase.ProceedAsynchronous[TResult](IInvocation invocation, IInvocationProceedInfo proceedInfo)\r\n at Volo.Abp.Castle.DynamicProxy.CastleAbpMethodInvocationAdapterWithReturnValue1.ProceedAsync()\r\n at Volo.Abp.Authorization.AuthorizationInterceptor.InterceptAsync(IAbpMethodInvocation invocation)\r\n at Volo.Abp.Castle.DynamicProxy.CastleAsyncAbpInterceptorAdapter1.InterceptAsync[TResult](IInvocation invocation, IInvocationProceedInfo proceedInfo, Func3 proceed)\r\n at Castle.DynamicProxy.AsyncInterceptorBase.ProceedAsynchronous[TResult](IInvocation invocation, IInvocationProceedInfo proceedInfo)\r\n at Volo.Abp.Castle.DynamicProxy.CastleAbpMethodInvocationAdapterWithReturnValue1.ProceedAsync()\r\n at Volo.Abp.GlobalFeatures.GlobalFeatureInterceptor.InterceptAsync(IAbpMethodInvocation invocation)\r\n at Volo.Abp.Castle.DynamicProxy.CastleAsyncAbpInterceptorAdapter1.InterceptAsync[TResult](IInvocation invocation, IInvocationProceedInfo proceedInfo, Func3 proceed)\r\n at Castle.DynamicProxy.AsyncInterceptorBase.ProceedAsynchronous[TResult](IInvocation invocation, IInvocationProceedInfo proceedInfo)\r\n at Volo.Abp.Castle.DynamicProxy.CastleAbpMethodInvocationAdapterWithReturnValue1.ProceedAsync()\r\n at Volo.Abp.Auditing.AuditingInterceptor.ProceedByLoggingAsync(IAbpMethodInvocation invocation, IAuditingHelper auditingHelper, IAuditLogScope auditLogScope)\r\n at Volo.Abp.Auditing.AuditingInterceptor.InterceptAsync(IAbpMethodInvocation invocation)\r\n at Volo.Abp.Castle.DynamicProxy.CastleAsyncAbpInterceptorAdapter1.InterceptAsync[TResult](IInvocation invocation, IInvocationProceedInfo proceedInfo, Func3 proceed)\r\n at Castle.DynamicProxy.AsyncInterceptorBase.ProceedAsynchronous[TResult](IInvocation invocation, IInvocationProceedInfo proceedInfo)\r\n at Volo.Abp.Castle.DynamicProxy.CastleAbpMethodInvocationAdapterWithReturnValue1.ProceedAsync()\r\n at Volo.Abp.Features.FeatureInterceptor.InterceptAsync(IAbpMethodInvocation invocation)\r\n at Volo.Abp.Castle.DynamicProxy.CastleAsyncAbpInterceptorAdapter1.InterceptAsync[TResult](IInvocation invocation, IInvocationProceedInfo proceedInfo, Func3 proceed)\r\n at Castle.DynamicProxy.AsyncInterceptorBase.ProceedAsynchronous[TResult](IInvocation invocation, IInvocationProceedInfo proceedInfo)\r\n at Volo.Abp.Castle.DynamicProxy.CastleAbpMethodInvocationAdapterWithReturnValue1.ProceedAsync()\r\n at Volo.Abp.Validation.ValidationInterceptor.InterceptAsync(IAbpMethodInvocation invocation)\r\n at Volo.Abp.Castle.DynamicProxy.CastleAsyncAbpInterceptorAdapter1.InterceptAsync[TResult](IInvocation invocation, IInvocationProceedInfo proceedInfo, Func3 proceed)\r\n at Castle.DynamicProxy.AsyncInterceptorBase.ProceedAsynchronous[TResult](IInvocation invocation, IInvocationProceedInfo proceedInfo)\r\n at Volo.Abp.Castle.DynamicProxy.CastleAbpMethodInvocationAdapterWithReturnValue1.ProceedAsync()\r\n at Volo.Abp.Uow.UnitOfWorkInterceptor.InterceptAsync(IAbpMethodInvocation invocation)\r\n at Volo.Abp.Castle.DynamicProxy.CastleAsyncAbpInterceptorAdapter1.InterceptAsync[TResult](IInvocation invocation, IInvocationProceedInfo proceedInfo, Func3 proceed)\r\n at Volo.FileManagement.Files.FileDescriptorController.DownloadAsync(Guid id, String token)\r\n at lambda_method3262(Closure , Object )\r\n at Microsoft.AspNetCore.Mvc.Infrastructure.ActionMethodExecutor.AwaitableObjectResultExecutor.Execute(IActionResultTypeMapper mapper, ObjectMethodExecutor executor, Object controller, Object[] arguments)\r\n at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.<InvokeActionMethodAsync>g__Awaited|12_0(ControllerActionInvoker invoker, ValueTask1 actionResultValueTask)\r\n at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.<InvokeNextActionFilterAsync>g__Awaited|10_0(ControllerActionInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)\r\n at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Rethrow(ActionExecutedContextSealed context)\r\n at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted)\r\n at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.<InvokeInnerFilterAsync>g__Awaited|13_0(ControllerActionInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)\r\n at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeNextExceptionFilterAsync>g__Awaited|25_0(ResourceInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)\r\n", "data": null, "validationErrors": null } ]

Question
  • ABP Framework version: v4.3.3
  • UI type: Angular
  • DB provider: EF Core
  • Tiered (MVC) or Identity Server Separated (Angular): Seperated
  • Exception message and stack trace:
  • Steps to reproduce the issue:"

I am utilizing the File Manegement module for vendors to upload documents to the system. I built a custom service which takes the files and generates a vendor specific folder and sub-folders within File Management. In order for me to get this to work, I had to give permissions to Directory and Files. The issue I am having is now the menu is showing up for the vendors which now gives them access to all the folders and files. My question is, can the folder/files only show for that specific vendor or can the menu item be removed for vendors but show for admins or other groups. If so, how can this be done?

Normally, for other screens I create seperate permissions and limit it in the menu under providers/route.provider.ts file, but not having source for File Manager makes this a little bit more challenging.

Answer

@AlderCove, I did find a way around this. I simply wrote my own file management piece. I am creating a blob container based on the guid of the contractor. I am saving all the files for them in their own container. I was sure hoping to utilize the out of box file management, but not ready for prime time yet.

  • ABP Framework version: v4.3
  • UI type: Angular
  • DB provider: EF Core
  • Tiered (MVC) or Identity Server Separated (Angular): yes
  • Exception message and stack trace: Volo.Abp.Authorization.AbpAuthorizationException
  • Steps to reproduce the issue:"

I created a background job. I generated a class in the *.Domain project.

My class is defined below

public class PassiveCheckerWorker : AsyncPeriodicBackgroundWorkerBase
{

    public PassiveCheckerWorker(AbpAsyncTimer timer,
                                IServiceScopeFactory serviceScopeFactory) : base(timer,serviceScopeFactory)
    {
        Timer.Period = 150000; //600000; //10 minutes
    }

    protected async override Task DoWorkAsync(PeriodicBackgroundWorkerContext workerContext)
    {
        Logger.LogInformation("Starting: Setting status of inactive users...");

        var _objectMapper = workerContext.ServiceProvider.GetRequiredService<IObjectMapper>();

        GetContractorsInput _input = new GetContractorsInput();
        var _contractor = workerContext.ServiceProvider.GetRequiredService<IContractorsAppService>(); //IRepository<Contractor, Guid>>(); //IContractorsAppService>();

        //IQueryable<Contractor> queryable = await _contractor.GetQueryableAsync();

        DateTime _today = DateTime.Now;
        DateTime _monthAgo = _today.AddMonths(-1);

        //Set WCI Expiration
        _input.wciexpirationdateMin = _monthAgo;
        _input.wciexpirationdateMax = _today;

        PagedResultDto<ContractorDto> _clist = await _contractor.GetListAsync(_input);

        //var query = from contractor in queryable
        //            where contractor.wciexpirationdate <= _today
        //            orderby contractor.Id
        //            select contractor;

        //var _cntr = query.ToList();

        foreach (var _c in _clist.Items)
        {
            //Check status
            if (_c.status != 5 && _c.status != 6 && _c.status != 3)
            {
                //Change status
                _c.status = 6;
                ContractorUpdateDto _update = new ContractorUpdateDto();
                var _cntr = _objectMapper.Map<ContractorDto, ContractorUpdateDto>(_c);
                await _contractor.UpdateAsync(_c.Id, _cntr);

                //TODO: Send out email notification to vendor
            }
        }

        //Set GLI Expiration
        GetContractorsInput _input2 = new GetContractorsInput();
        _input2.gliexperationdateMin = _monthAgo;
        _input2.gliexperationdateMax = _today;

        PagedResultDto<ContractorDto> _clist2 = await _contractor.GetListAsync(_input2);
        foreach (var _c in _clist2.Items)
        {
            //Check status
            if (_c.status != 5 && _c.status != 6 && _c.status != 3)
            {
                //Change status
                _c.status = 5;
                ContractorUpdateDto _update = new ContractorUpdateDto();
                var _cntr = _objectMapper.Map<ContractorDto, ContractorUpdateDto>(_c);
                await _contractor.UpdateAsync(_c.Id, _cntr);

                //TODO: Send out email notification to vendor
            }
        }

        Logger.LogInformation("Completed: Setting status of inactive users...");
    }
}

I registed it in the DomainModule.cs file

public override void OnApplicationInitialization(ApplicationInitializationContext context)
{
    context.AddBackgroundWorker<PassiveCheckerWorker>();
}

the background job executes fine. My Issue is I get the following in the Audit log

               [
  {
    "code": "Volo.Authorization:010001",
    "message": "Exception of type 'Volo.Abp.Authorization.AbpAuthorizationException' was thrown.",
    "details": "AbpAuthorizationException: Exception of type 'Volo.Abp.Authorization.AbpAuthorizationException' was thrown.\r\nSTACK TRACE:    at Microsoft.AspNetCore.Authorization.AbpAuthorizationServiceExtensions.CheckAsync(IAuthorizationService authorizationService, AuthorizationPolicy policy)\r\n   at Volo.Abp.Authorization.MethodInvocationAuthorizationService.CheckAsync(MethodInvocationAuthorizationContext context)\r\n   at Volo.Abp.Authorization.AuthorizationInterceptor.AuthorizeAsync(IAbpMethodInvocation invocation)\r\n   at Volo.Abp.Authorization.AuthorizationInterceptor.InterceptAsync(IAbpMethodInvocation invocation)\r\n   at Volo.Abp.Castle.DynamicProxy.CastleAsyncAbpInterceptorAdapter`1.InterceptAsync[TResult](IInvocation invocation, IInvocationProceedInfo proceedInfo, Func`3 proceed)\r\n   at Castle.DynamicProxy.AsyncInterceptorBase.ProceedAsynchronous[TResult](IInvocation invocation, IInvocationProceedInfo proceedInfo)\r\n   at Volo.Abp.Castle.DynamicProxy.CastleAbpMethodInvocationAdapterWithReturnValue`1.ProceedAsync()\r\n   at Volo.Abp.GlobalFeatures.GlobalFeatureInterceptor.InterceptAsync(IAbpMethodInvocation invocation)\r\n   at Volo.Abp.Castle.DynamicProxy.CastleAsyncAbpInterceptorAdapter`1.InterceptAsync[TResult](IInvocation invocation, IInvocationProceedInfo proceedInfo, Func`3 proceed)\r\n   at Castle.DynamicProxy.AsyncInterceptorBase.ProceedAsynchronous[TResult](IInvocation invocation, IInvocationProceedInfo proceedInfo)\r\n   at Volo.Abp.Castle.DynamicProxy.CastleAbpMethodInvocationAdapterWithReturnValue`1.ProceedAsync()\r\n   at Volo.Abp.Auditing.AuditingInterceptor.ProceedByLoggingAsync(IAbpMethodInvocation invocation, IAuditingHelper auditingHelper, IAuditLogScope auditLogScope)\r\n   at Volo.Abp.Auditing.AuditingInterceptor.ProcessWithNewAuditingScopeAsync(IAbpMethodInvocation invocation, AbpAuditingOptions options, ICurrentUser currentUser, IAuditingManager auditingManager, IAuditingHelper auditingHelper)\r\n",
    "data": null,
    "validationErrors": null
  }
]

I have also attempted to run a linq query and by-pass the application layer, but my code seems to hang on

var query = from contractor in queryable
                   where contractor.wciexpirationdate <= _today
                    orderby contractor.Id
                       select contractor;

  var _cntr = query.ToList();

How can I execute a background job as a user or how can I by-pass the authentication?

  • ABP Framework version: v4.4.3
  • UI type: Angular
  • DB provider: EF Core
  • Tiered (MVC) or Identity Server Separated (Angular): Seperated
  • Exception message and stack trace: See below
  • Steps to reproduce the issue:"

Hello, I recently migrated my project from a local environment to a Debian linux environment. Now I am getting the following error in one of my tables that I generated with ABP Suite

2021-12-15 08:40:02.949 -05:00 [ERR] An error occurred while updating the entries. See the inner exception for details.
Microsoft.EntityFrameworkCore.DbUpdateException: An error occurred while updating the entries. See the inner exception for details.
 ---> Microsoft.Data.SqlClient.SqlException (0x80131904): Cannot insert the value NULL into column 'IsDeleted', table 'TiberConstructionVendor.db_owner.AppMSAS'; column does not allow nulls. INSERT fails.
The statement has been terminated.
   at Microsoft.Data.SqlClient.SqlCommand.<>c.<ExecuteDbDataReaderAsync>b__169_0(Task`1 result)
   at System.Threading.Tasks.ContinuationResultTaskFromResultTask`2.InnerInvoke()
   at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state)
--- End of stack trace from previous location ---
   at System.Threading.Tasks.Task.ExecuteWithThreadLocal(Task& currentTaskSlot, Thread threadPoolThread)
--- End of stack trace from previous location ---
   at Microsoft.EntityFrameworkCore.Storage.RelationalCommand.ExecuteReaderAsync(RelationalCommandParameterObject parameterObject, CancellationToken cancellationToken)
   at Microsoft.EntityFrameworkCore.Storage.RelationalCommand.ExecuteReaderAsync(RelationalCommandParameterObject parameterObject, CancellationToken cancellationToken)
   at Microsoft.EntityFrameworkCore.Update.ReaderModificationCommandBatch.ExecuteAsync(IRelationalConnection connection, CancellationToken cancellationToken)
ClientConnectionId:294eace5-4611-4881-ae93-f95507748680
Error Number:515,State:2,Class:16
   --- End of inner exception stack trace ---
   at Microsoft.EntityFrameworkCore.Update.ReaderModificationCommandBatch.ExecuteAsync(IRelationalConnection connection, CancellationToken cancellationToken)
   at Microsoft.EntityFrameworkCore.Update.Internal.BatchExecutor.ExecuteAsync(IEnumerable`1 commandBatches, IRelationalConnection connection, CancellationToken cancellationToken)
   at Microsoft.EntityFrameworkCore.Update.Internal.BatchExecutor.ExecuteAsync(IEnumerable`1 commandBatches, IRelationalConnection connection, CancellationToken cancellationToken)
   at Microsoft.EntityFrameworkCore.Update.Internal.BatchExecutor.ExecuteAsync(IEnumerable`1 commandBatches, IRelationalConnection connection, CancellationToken cancellationToken)
   at Microsoft.EntityFrameworkCore.ChangeTracking.Internal.StateManager.SaveChangesAsync(IList`1 entriesToSave, CancellationToken cancellationToken)
   at Microsoft.EntityFrameworkCore.ChangeTracking.Internal.StateManager.SaveChangesAsync(DbContext _, Boolean acceptAllChangesOnSuccess, CancellationToken cancellationToken)
   at Microsoft.EntityFrameworkCore.SqlServer.Storage.Internal.SqlServerExecutionStrategy.ExecuteAsync[TState,TResult](TState state, Func`4 operation, Func`4 verifySucceeded, CancellationToken cancellationToken)
   at Microsoft.EntityFrameworkCore.DbContext.SaveChangesAsync(Boolean acceptAllChangesOnSuccess, CancellationToken cancellationToken)
   at Microsoft.EntityFrameworkCore.DbContext.SaveChangesAsync(Boolean acceptAllChangesOnSuccess, CancellationToken cancellationToken)
   at Volo.Abp.EntityFrameworkCore.AbpDbContext`1.SaveChangesAsync(Boolean acceptAllChangesOnSuccess, CancellationToken cancellationToken)
   at Volo.Abp.Domain.Repositories.EntityFrameworkCore.EfCoreRepository`2.InsertAsync(TEntity entity, Boolean autoSave, CancellationToken cancellationToken)
   at Castle.DynamicProxy.AsyncInterceptorBase.ProceedAsynchronous[TResult](IInvocation invocation, IInvocationProceedInfo proceedInfo)
   at Volo.Abp.Castle.DynamicProxy.CastleAbpMethodInvocationAdapterWithReturnValue`1.ProceedAsync()
   at Volo.Abp.Uow.UnitOfWorkInterceptor.InterceptAsync(IAbpMethodInvocation invocation)
   at Volo.Abp.Castle.DynamicProxy.CastleAsyncAbpInterceptorAdapter`1.InterceptAsync[TResult](IInvocation invocation, IInvocationProceedInfo proceedInfo, Func`3 proceed)
   at TiberVendor.MSArea.MSASAppService.CreateAsync(MSACreateDto input) in C:\source\repos\_TiberVendor\VendorDatabase\aspnet-core\src\TiberVendor.Application\MSArea\MSAAppService.cs:line 57
   at Castle.DynamicProxy.AsyncInterceptorBase.ProceedAsynchronous[TResult](IInvocation invocation, IInvocationProceedInfo proceedInfo)
   at Volo.Abp.Castle.DynamicProxy.CastleAbpMethodInvocationAdapterWithReturnValue`1.ProceedAsync()
   at Volo.Abp.Authorization.AuthorizationInterceptor.InterceptAsync(IAbpMethodInvocation invocation)
   at Volo.Abp.Castle.DynamicProxy.CastleAsyncAbpInterceptorAdapter`1.InterceptAsync[TResult](IInvocation invocation, IInvocationProceedInfo proceedInfo, Func`3 proceed)
   at Castle.DynamicProxy.AsyncInterceptorBase.ProceedAsynchronous[TResult](IInvocation invocation, IInvocationProceedInfo proceedInfo)
   at Volo.Abp.Castle.DynamicProxy.CastleAbpMethodInvocationAdapterWithReturnValue`1.ProceedAsync()
   at Volo.Abp.GlobalFeatures.GlobalFeatureInterceptor.InterceptAsync(IAbpMethodInvocation invocation)
   at Volo.Abp.Castle.DynamicProxy.CastleAsyncAbpInterceptorAdapter`1.InterceptAsync[TResult](IInvocation invocation, IInvocationProceedInfo proceedInfo, Func`3 proceed)
   at Castle.DynamicProxy.AsyncInterceptorBase.ProceedAsynchronous[TResult](IInvocation invocation, IInvocationProceedInfo proceedInfo)
   at Volo.Abp.Castle.DynamicProxy.CastleAbpMethodInvocationAdapterWithReturnValue`1.ProceedAsync()
   at Volo.Abp.Auditing.AuditingInterceptor.ProceedByLoggingAsync(IAbpMethodInvocation invocation, IAuditingHelper auditingHelper, IAuditLogScope auditLogScope)
   at Volo.Abp.Auditing.AuditingInterceptor.InterceptAsync(IAbpMethodInvocation invocation)
   at Volo.Abp.Castle.DynamicProxy.CastleAsyncAbpInterceptorAdapter`1.InterceptAsync[TResult](IInvocation invocation, IInvocationProceedInfo proceedInfo, Func`3 proceed)
   at Castle.DynamicProxy.AsyncInterceptorBase.ProceedAsynchronous[TResult](IInvocation invocation, IInvocationProceedInfo proceedInfo)
   at Volo.Abp.Castle.DynamicProxy.CastleAbpMethodInvocationAdapterWithReturnValue`1.ProceedAsync()
   at Volo.Abp.Validation.ValidationInterceptor.InterceptAsync(IAbpMethodInvocation invocation)
   at Volo.Abp.Castle.DynamicProxy.CastleAsyncAbpInterceptorAdapter`1.InterceptAsync[TResult](IInvocation invocation, IInvocationProceedInfo proceedInfo, Func`3 proceed)
   at Castle.DynamicProxy.AsyncInterceptorBase.ProceedAsynchronous[TResult](IInvocation invocation, IInvocationProceedInfo proceedInfo)
   at Volo.Abp.Castle.DynamicProxy.CastleAbpMethodInvocationAdapterWithReturnValue`1.ProceedAsync()
   at Volo.Abp.Uow.UnitOfWorkInterceptor.InterceptAsync(IAbpMethodInvocation invocation)
   at Volo.Abp.Castle.DynamicProxy.CastleAsyncAbpInterceptorAdapter`1.InterceptAsync[TResult](IInvocation invocation, IInvocationProceedInfo proceedInfo, Func`3 proceed)
   at lambda_method3952(Closure , Object )
   at Microsoft.AspNetCore.Mvc.Infrastructure.ActionMethodExecutor.AwaitableObjectResultExecutor.Execute(IActionResultTypeMapper mapper, ObjectMethodExecutor executor, Object controller, Object[] arguments)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.<InvokeActionMethodAsync>g__Awaited|12_0(ControllerActionInvoker invoker, ValueTask`1 actionResultValueTask)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.&lt;InvokeNextActionFilterAsync&gt;g__Awaited|10_0(ControllerActionInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Rethrow(ActionExecutedContextSealed context)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.&lt;InvokeInnerFilterAsync&gt;g__Awaited|13_0(ControllerActionInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.&lt;InvokeNextExceptionFilterAsync&gt;g__Awaited|25_0(ResourceInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)

I attempted to to change the code in my appservice and set IsDeleted to false and I am still getting the error. Why isnt the fullaudit doing this?

var mSA = ObjectMapper.Map<MSACreateDto, MSA>(input); mSA.TenantId = CurrentTenant.Id; mSA.IsDeleted = false; mSA = await _mSARepository.InsertAsync(mSA, autoSave: true); return ObjectMapper.Map<MSA, MSADto>(mSA);

Hello. I fixed my own issue above, But I do have another question. My health check service appears to be pointing to localhost and I am getting an Root Certificate error. Currently the site is sitting behind a apache reverse proxy with SSL configured. Things work from the frontend but this seems to be failing. How can I fix this?

2021-12-15 14:28:02.125 +00:00 [INF] Entity Framework Core 5.0.12 initialized 'HealthChecksDb' using provider 'Microsoft.EntityFrameworkCore.InMemory' with options: StoreName=HealthChecksUI
2021-12-15 14:28:02.126 +00:00 [INF] Start processing HTTP request GET "https://localhost:44350/health-status"
2021-12-15 14:28:02.126 +00:00 [INF] Sending HTTP request GET "https://localhost:44350/health-status"
2021-12-15 14:28:02.131 +00:00 [ERR] GetHealthReport threw an exception when trying to get report from /health-status configured with name TiberVendor Health Status.
System.Net.Http.HttpRequestException: The SSL connection could not be established, see inner exception.
 ---> System.Security.Authentication.AuthenticationException: The remote certificate is invalid because of errors in the certificate chain: UntrustedRoot
   at System.Net.Security.SslStream.SendAuthResetSignal(ProtocolToken message, ExceptionDispatchInfo exception)
   at System.Net.Security.SslStream.ForceAuthenticationAsync[TIOAdapter](TIOAdapter adapter, Boolean receiveFirst, Byte[] reAuthenticationData, Boolean isApm)
   at System.Net.Http.ConnectHelper.EstablishSslConnectionAsyncCore(Boolean async, Stream stream, SslClientAuthenticationOptions sslOptions, CancellationToken cancellationToken)
   --- End of inner exception stack trace ---
   at System.Net.Http.ConnectHelper.EstablishSslConnectionAsyncCore(Boolean async, Stream stream, SslClientAuthenticationOptions sslOptions, CancellationToken cancellationToken)
   at System.Net.Http.HttpConnectionPool.ConnectAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
   at System.Net.Http.HttpConnectionPool.CreateHttp11ConnectionAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
   at System.Net.Http.HttpConnectionPool.GetHttpConnectionAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
   at System.Net.Http.HttpConnectionPool.SendWithRetryAsync(HttpRequestMessage request, Boolean async, Boolean doRequestAuth, CancellationToken cancellationToken)
   at System.Net.Http.RedirectHandler.SendAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
   at Microsoft.Extensions.Http.Logging.LoggingHttpMessageHandler.SendAsync(HttpRequestMessage request, CancellationToken cancellationToken)
   at Microsoft.Extensions.Http.Logging.LoggingScopeHttpMessageHandler.SendAsync(HttpRequestMessage request, CancellationToken cancellationToken)
   at System.Net.Http.HttpClient.SendAsyncCore(HttpRequestMessage request, HttpCompletionOption completionOption, Boolean async, Boolean emitTelemetryStartStop, CancellationToken cancellationToken)
   at HealthChecks.UI.Core.HostedService.HealthCheckReportCollector.GetHealthReport(HealthCheckConfiguration configuration)
2021-12-15 14:28:02.132 +00:00 [INF] Notification is sent on same window time.
Showing 1 to 10 of 44 entries
Made with ❤️ on ABP v8.2.0-preview Updated on March 25, 2024, 15:11