Learn More, Pay Less!
Limited Time Offer!

Activities of "leeneshk"

The document mentioned during the meeting: https://abp.io/docs/latest/framework/architecture/multi-tenancy#change-the-current-tenant

Thank you very much for your time Berkan,

I appreciate it, I will keep you posted on the progress, take care

Thank you so much, I am joining now

Hello,

If it is appropriate, you can send your sample application to support@abp.io with a text like below:

Please forward my mail to Berkan Sasmaz regarding ticket #8789.

Hi Berkan,

Uhm so I have quite a few dependent components which would cause errors, is that fine still?

I would prefer if we could have a call via Zoom or Microsoft teams so that I can take you through everything where the error points are.

Hello @berkansasmaz

I am not getting any luck, still getting the dependency injection errors, even after using the above,

Could I perhaps have a call with you on this?

Thank you very much for the help @berkansasmaz

I will utilize the feedback provided and get things working again :)

Hi,

First of all, you don't need to create an extended of each class. This is a feature to allow customization when code is generated with Suite. See more: https://abp.io/docs/latest/suite/customizing-the-generated-code

Secondly, you don't need to create a controller, ABP creates the controller for you from ApplicationService. But you can still create it if you want to, of course. See more: https://abp.io/docs/latest/framework/api-development/auto-controllers

In your case, there should be a structure like the one below:

ILearnworldsApiService:

public interface ILearnworldsApiService : IApplicationService 
{ 
  Task<LookupDto<LearnwroldsActivitiesDto>> GetActivitiesBySchoolAsync(Guid tenantId); 
} 

LearnworldsApiService:

public class LearnworldsApiService : MyAppService, ILearnworldsApiService 
{ 
    private readonly IMyRepository _myRepository; 
    private readonly MyLearnManager _myLearnManager; 
 
    public AuthorAppService( 
        IMyRepository myRepository, 
        MyLearnManager myLearnManager) 
    { 
        _myRepository = myRepository; 
        _myLearnManager = myLearnManager; 
    } 
 
     public async Task<LookupDto<LearnwroldsActivitiesDto>> GetActivitiesBySchoolAsync(Guid tenantId)     
     { 
         // .... 
     } 
} 

LearnworldsApiController:

You don't need it, but if you want to create it, you can create it similar to this one here: https://github.com/abpframework/abp/blob/dev/modules/identity/src/Volo.Abp.Identity.HttpApi/Volo/Abp/Identity/IdentityUserController.cs

Thank you for the response, I appreciate it,

So question though, I need to use the APIService and bind it to another Controller/action, which will populate a dropdown, I initially also tried injecting the service yet still got the dependency injection exception. Also the manager class, do I need that? I have not created a LearnworldsApiManager class though

Hello @berkansasmaz,

This is my LearnworldsApiService:

This is my ILearnworldsApiService:

And then my LearnworldsApiController:

I have also created .Extended classes for each because I thought it was a standard within abp.io

  • ABP Framework version: v9.0.2
  • UI Type: Angular
  • Database System: EF Core (SQL Server)
  • Tiered (for MVC) or Auth Server Separated (for Angular): yes
  • Exception message and full stack trace: Hello,

I am getting a circular dependency error on my solution when attempting to consume a third-party API (Learnworlds), I have created the App Service, the required interfaces as well as a repo method that gets the details for the API call. All I want to do is get data upon request and populate certain fields, any assistance will be extremely helpful as I have been struggling with this issue for a few days now.

An exception was thrown while activating EDOnlineT3.Controllers.LearnworldsServices.LearnworldsApiController -> λ:EDOnlineT3.LearnworldsServices.ILearnworldsApiService. at Autofac.Core.Resolving.Middleware.ActivatorErrorHandlingMiddleware.Execute(ResolveRequestContext context, Action1 next) at Autofac.Core.Resolving.Pipeline.ResolvePipelineBuilder.<>c__DisplayClass14_0.<BuildPipeline>b__1(ResolveRequestContext context) at Autofac.Core.Pipeline.ResolvePipeline.Invoke(ResolveRequestContext context) at Autofac.Core.Resolving.Middleware.RegistrationPipelineInvokeMiddleware.Execute(ResolveRequestContext context, Action1 next) at Autofac.Core.Resolving.Pipeline.ResolvePipelineBuilder.<>c__DisplayClass14_0.<BuildPipeline>b__1(ResolveRequestContext context) at Autofac.Core.Resolving.Middleware.SharingMiddleware.Execute(ResolveRequestContext context, Action1 next) at Autofac.Core.Resolving.Pipeline.ResolvePipelineBuilder.<>c__DisplayClass14_0.<BuildPipeline>b__1(ResolveRequestContext context) at Autofac.Core.Resolving.Middleware.ScopeSelectionMiddleware.Execute(ResolveRequestContext context, Action1 next) at Autofac.Core.Resolving.Pipeline.ResolvePipelineBuilder.<>c__DisplayClass14_0.<BuildPipeline>b__1(ResolveRequestContext context) at Autofac.Core.Resolving.Middleware.CircularDependencyDetectorMiddleware.Execute(ResolveRequestContext context, Action1 next) at Autofac.Core.Resolving.Pipeline.ResolvePipelineBuilder.<>c__DisplayClass14_0.<BuildPipeline>b__1(ResolveRequestContext context) at Autofac.Core.Pipeline.ResolvePipeline.Invoke(ResolveRequestContext context) at Autofac.Core.Resolving.ResolveOperation.GetOrCreateInstance(ISharingLifetimeScope currentOperationScope, ResolveRequest& request) at Autofac.Core.Resolving.ResolveOperation.ExecuteOperation(ResolveRequest& request) at Autofac.Core.Resolving.ResolveOperation.Execute(ResolveRequest& request) at Autofac.Core.Lifetime.LifetimeScope.ResolveComponent(ResolveRequest& request) at Autofac.Core.Lifetime.LifetimeScope.Autofac.IComponentContext.ResolveComponent(ResolveRequest& request) at Autofac.ResolutionExtensions.TryResolveService(IComponentContext context, Service service, IEnumerable1 parameters, Object& instance) at Autofac.ResolutionExtensions.ResolveService(IComponentContext context, Service service, IEnumerable1 parameters) at Autofac.ResolutionExtensions.Resolve(IComponentContext context, Type serviceType, IEnumerable1 parameters) at Autofac.ResolutionExtensions.Resolve(IComponentContext context, Type serviceType) at Autofac.Extensions.DependencyInjection.AutofacServiceProvider.GetRequiredService(Type serviceType) at Microsoft.AspNetCore.Mvc.Controllers.ControllerFactoryProvider.<>c__DisplayClass6_0.<CreateControllerFactory>g__CreateController|0(ControllerContext controllerContext) at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted) at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.InvokeInnerFilterAsync() --- End of stack trace from previous location --- at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeNextExceptionFilterAsync>g__Awaited|26_0(ResourceInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)

I would like to have a call with any one of you guys perhaps, so that we can go through the issue together, if possible

Hi @leeneshk

Is this issue still present?

Hello @liangshiwei

The issue has been resolved, we have not experienced issues thereafter, however, Is there some sort of SLA that we can get from abp.io that safe guards both parties from any downtime or any issues down the line?

The reason why I am asking this, is that we have a set SLA with our clients that stipulates a certain timeframe for a major issue to be resolved, and let's say that if we needed to get a hotfix out when the downtime occurred, we would've been in breach of our SLA in any case.

How sure are we that there would not be any issues like this in the future? Also I remember around a month ago, abp.io had the Cloudfare attack which affected the domains and sub-domains, how can we resolve that?

So I need to provide some proof of an SLA to my security council regarding this, would you guys be able to provide me with some documentation in the form of an SLA or something?

I have also asked this on my initial query: https://abp.io/support/questions/8610/Issue-with-nugetabpio

Thank you.

Answer

Great to hear that! Sorry for the temporary inconvenience and thanks for your understanding. Regards.

Hello EngincanV,

I hope you are doing well, I would like to ask, in terms of this very same issue,

Is there some sort of SLA that we can get from abp.io that safe guards both parties from any downtime or any issues down the line?

The reason why I am asking this, is that we have a set SLA with our clients that stipulates a certain timeframe for a major issue to be resolved, and let's say that if we needed to get a hotfix out when the downtime occurred, we would've been in breach of our SLA in any case.

How sure are we that there would not be any issues like this in the future? Also I remember around a month ago, abp.io has the Cloudfare attack which affected the domains and sub-domains, how can we resolve that?

So I need to provide some proof of an SLA to my security council regarding this, would you guys be able to provide me with some documentation in the form of an SLA or something?

Thank you

Showing 1 to 10 of 24 entries
Made with ❤️ on ABP v9.2.0-preview. Updated on February 12, 2025, 05:21