Activities of "joe@tronactive.com"

  • ABP Framework version: v3.0.4
  • UI type: Angular

I am trying to setup a release pipeline in Azure DevOps for the Angular app to different environments. When I did this with Aspnet Zero I was able to use the appconfig.json file to easily enough do a json replace on the app urls. But it looks like Commercial abp only uses the environment.ts files and I can't use those in the release pipeline because the app is already built at that time.

Basically my question is, How can I reconfigure the app to use a json file instead like how ASPNET Zero does it. I looked at the projects method of how they do it, but wasn't sure how to implement something simular since Commercial abp sets the oAuthConfig and apis url differently. Any help would be greatly appreciated.

Thank you

After Updating to Angular version of ABP 3.0.5 I am having a lot of issues with when I try to view the Audit Logs, the SQL times out. I didn't have this issue before updating to 3.0.5. Below is the error I am getting in my log file. Any help would be greatly appreciated.

Error Number:-2,State:0,Class:11 2020-08-07 09:30:10.430 -05:00 [ERR] ---------- RemoteServiceErrorInfo ---------- 2020-08-07 09:30:10.430 -05:00 [ERR] { "code": null, "message": "An internal error occurred during your request!", "details": null, "validationErrors": null } 2020-08-07 09:30:10.430 -05:00 [ERR] Execution Timeout Expired. The timeout period elapsed prior to completion of the operation or the server is not responding. Microsoft.Data.SqlClient.SqlException (0x80131904): Execution Timeout Expired. The timeout period elapsed prior to completion of the operation or the server is not responding. ---> System.ComponentModel.Win32Exception (258): The wait operation timed out. at Microsoft.Data.SqlClient.SqlCommand.<>c.<ExecuteDbDataReaderAsync>b__164_0(Task1 result) at System.Threading.Tasks.ContinuationResultTaskFromResultTask2.InnerInvoke() at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state) --- End of stack trace from previous location where exception was thrown --- at System.Threading.Tasks.Task.ExecuteWithThreadLocal(Task& currentTaskSlot, Thread threadPoolThread) --- End of stack trace from previous location where exception was thrown --- at Microsoft.EntityFrameworkCore.Storage.RelationalCommand.ExecuteReaderAsync(RelationalCommandParameterObject parameterObject, CancellationToken cancellationToken) at Microsoft.EntityFrameworkCore.Storage.RelationalCommand.ExecuteReaderAsync(RelationalCommandParameterObject parameterObject, CancellationToken cancellationToken) at Microsoft.EntityFrameworkCore.Storage.RelationalCommand.ExecuteReaderAsync(RelationalCommandParameterObject parameterObject, CancellationToken cancellationToken) at Microsoft.EntityFrameworkCore.Query.Internal.QueryingEnumerable1.AsyncEnumerator.InitializeReaderAsync(DbContext _, Boolean result, CancellationToken cancellationToken) at Microsoft.EntityFrameworkCore.SqlServer.Storage.Internal.SqlServerExecutionStrategy.ExecuteAsync[TState,TResult](TState state, Func4 operation, Func4 verifySucceeded, CancellationToken cancellationToken) at Microsoft.EntityFrameworkCore.Query.Internal.QueryingEnumerable1.AsyncEnumerator.MoveNextAsync() at Microsoft.EntityFrameworkCore.EntityFrameworkQueryableExtensions.ToListAsync[TSource](IQueryable1 source, CancellationToken cancellationToken) at Microsoft.EntityFrameworkCore.EntityFrameworkQueryableExtensions.ToListAsync[TSource](IQueryable1 source, CancellationToken cancellationToken) at Volo.Abp.AuditLogging.EntityFrameworkCore.EfCoreAuditLogRepository.GetListAsync(String sorting, Int32 maxResultCount, Int32 skipCount, Nullable1 startTime, Nullable1 endTime, String httpMethod, String url, String userName, String applicationName, String correlationId, Nullable1 maxExecutionDuration, Nullable1 minExecutionDuration, Nullable1 hasException, Nullable1 httpStatusCode, Boolean includeDetails, CancellationToken cancellationToken) at Castle.DynamicProxy.AsyncInterceptorBase.ProceedAsynchronous[TResult](IInvocation invocation, IInvocationProceedInfo proceedInfo) at Volo.Abp.Castle.DynamicProxy.CastleAbpMethodInvocationAdapterWithReturnValue1.ProceedAsync() at Volo.Abp.Uow.UnitOfWorkInterceptor.InterceptAsync(IAbpMethodInvocation invocation) at Volo.Abp.Castle.DynamicProxy.CastleAsyncAbpInterceptorAdapter1.InterceptAsync[TResult](IInvocation invocation, IInvocationProceedInfo proceedInfo, Func3 proceed) at Volo.Abp.AuditLogging.AuditLogsAppService.GetListAsync(GetAuditLogListDto input) at Castle.DynamicProxy.AsyncInterceptorBase.ProceedAsynchronous[TResult](IInvocation invocation, IInvocationProceedInfo proceedInfo) at Volo.Abp.Castle.DynamicProxy.CastleAbpMethodInvocationAdapterWithReturnValue1.ProceedAsync() at Volo.Abp.Authorization.AuthorizationInterceptor.InterceptAsync(IAbpMethodInvocation invocation) at Volo.Abp.Castle.DynamicProxy.CastleAsyncAbpInterceptorAdapter1.InterceptAsync[TResult](IInvocation invocation, IInvocationProceedInfo proceedInfo, Func3 proceed) at Castle.DynamicProxy.AsyncInterceptorBase.ProceedAsynchronous[TResult](IInvocation invocation, IInvocationProceedInfo proceedInfo) at Volo.Abp.Castle.DynamicProxy.CastleAbpMethodInvocationAdapterWithReturnValue1.ProceedAsync() at Volo.Abp.Validation.ValidationInterceptor.InterceptAsync(IAbpMethodInvocation invocation) at Volo.Abp.Castle.DynamicProxy.CastleAsyncAbpInterceptorAdapter1.InterceptAsync[TResult](IInvocation invocation, IInvocationProceedInfo proceedInfo, Func3 proceed) at Castle.DynamicProxy.AsyncInterceptorBase.ProceedAsynchronous[TResult](IInvocation invocation, IInvocationProceedInfo proceedInfo) at Volo.Abp.Castle.DynamicProxy.CastleAbpMethodInvocationAdapterWithReturnValue1.ProceedAsync() at Volo.Abp.Uow.UnitOfWorkInterceptor.InterceptAsync(IAbpMethodInvocation invocation) at Volo.Abp.Castle.DynamicProxy.CastleAsyncAbpInterceptorAdapter1.InterceptAsync[TResult](IInvocation invocation, IInvocationProceedInfo proceedInfo, Func3 proceed) at Volo.Abp.AuditLogging.AuditLogsController.GetListAsync(GetAuditLogListDto input) at lambda_method(Closure , Object ) at Microsoft.Extensions.Internal.ObjectMethodExecutorAwaitable.Awaiter.GetResult() 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.

3.0.5 Angular

I used abp.suite for the first time to create two new entities with angular front ends. One of the angular modules works just fine. But the other when I try to start the app throws the below error and I cannot figure out why.

Failed to compile.

./src/app/management/customers/customers.service.ts Module build failed (from ./node_modules/@ngtools/webpack/src/index.js): Error: C:\Users\J\source\repos\Azure\Angular\src\app\management\customers\customers.service.ts is missing from the TypeScript compilation. Please make sure it is in your tsconfig via the 'files' or 'include' property. at AngularCompilerPlugin.getCompiledFile (C:\Users\J\source\repos\Azure\Angular\node_modules@ngtools\webpack\src\angular_compiler_plugin.js:935:23) at C:\Users\J\source\repos\Azure\Angular\node_modules@ngtools\webpack\src\loader.js:42:31 at runMicrotasks (<anonymous>) at processTicksAndRejections (internal/process/task_queues.js:97:5)

If I comment out all the angular customer code in service, component and module it works just fine.

Any ideas?

@Mehmet,I actually figured out the issue. It was because I used a namespace like Management.Customer and that is what messed everything up. I didn't realize I shouldn't use a namespace like that. I finally noticed it said that next to the Namespace text box when you hover over the question mark in ABP Suite. Thanks for checking

  • ABP Framework version: v3.10
  • UI type: Angular
  • Tiered (MVC) or Identity Server Seperated (Angular): yes

I have been trying to figure out with ABPs Background system how to enqueue to a custom hangfire queue. WIth using just the basic hangfire api I just put an attribute above the method I am calling in the enqueue method [Queue("CustomQueue")] but that does not work with ABPs hangfire version. Is there anyway to get it to enqueue to my custom queue besides the default queue?

Thank you for the help. What method would this attribute go above then? Would it be the one that does the work? or above the Execute method in the below job class?

` public class RenderChartJob : BackgroundJob

    public RenderChartJob(IChartsAppService chartsAppService)
    {
        _chartsAppService = chartsAppService;
    }

    public override void Execute(RenderChartsJobArgs args)
    {
        args.Subject = "Job Scheduled to Render Chart to PDF";
        args.Body = $"Job rendering chart successful. ";


        try
        {
            //Pass in Render chart input and render chart to PDF
           _chartsAppService.RenderChartToPdf(args.RenderChartInput);
            
            //We will not be rescheduling this since it is a one time execution
            args.Body = $"{DateTime.UtcNow}: {args.Body}";
            emailSender.Send(args.FromEmail, args.ToEmail, args.Subject, args.Body);

        }
        catch (Exception e)
        {
            throw new Exception(e.StackTrace);
        }
    }
}`

Sorry I should have explained it better. I want to create multiple Queues. This only works with just one.

I understand I can, I guess I am just having a hard time how to. Thanks though

  • ABP Framework version: v3.1
  • UI type: Angular
  • Tiered (MVC) or Identity Server Seperated (Angular): Tiered Entity Framework SQL Server

I have 3 DB contexts, my main one for the ABP API database, two others that connect to two DBs that we already had and all works just fine.

We have one database that has Customer table in it and a Connection table. The Connection table holds DB connections for each customers. This is NOT the main ABP database. But what I want to do is split out Customer specific databses similar to how tenant specific DBs are done in ABP. I want to create a CustomConnectionStringResolver pass in a customer ID to queury the Connection table to get the customer specific DB connection string. Then change the connectionString of our CustomerDbContext to the Customer Specific database instead of the default one. I have done this in other projects that use just basic EntityFramework and no ABL but not that works with ABP and the ConnectionStringNameAttribute. I want to do this with a DbContext that inherits from AbpDbContext<CustomerDbContext> and uses the ConnectionStringNameAttribute.

Any help would be appreciated.

This is great thank you. So basically when I need to switch the customer context I will call the CustomConnectionStringResolver and just pass in the new connection string? or how is the resolver called?

Showing 1 to 10 of 85 entries
Made with ❤️ on ABP v8.2.0-preview Updated on March 25, 2024, 15:11