Activities of "shijo"

The issue has been solved, Minor correction on your answer, when you debug the application with Linux docker container and Visual Studio, path for $HOME is /root not /home/user. I copied access-token.bin file from %UserProfile%\.abp\cli\ to folder D:\\POCs\\token and mapped volume in launchSettings.json Docker section DockerfileRunArguments -v D:\\POCs\\token:/root/.abp/cli.

"Docker": { "commandName": "Docker", "launchBrowser": true, "launchUrl": "{Scheme}://{ServiceHost}:{ServicePort}", "DockerfileRunArguments": "-v D:\\POCs\\token:/root/.abp/cli", "publishAllPorts": true, "useSSL": true }

I am running this in Development Mode. I am debugging the application with Docker container in Development mode

Application breaking in await app.InitializeApplicationAsync(); line

Working fine.. Thanks.

Solved..

I managed to Implement IDistributedEventHandler inside BookManager class. Now it is working..

Ok, I will make a small sample and share it with you. One more thing I noticed, I created a new Class inherited from ApplicationService and implemented IDistributedEventHandler, and paste all coding, which is working fine.

The main difference between the two classes is One is inherited from DomainService and The Other is ApplicationService. If you have any clue just check.

public class BookManager : DomainService Inside this class code is throwing exception

public class BookAppDistEventService : ApplicationService, IDistributedEventHandler<APIBookEto> Inside this class code is working fine.

If I am using direct Repository it is working, but here i am going through ApplicationService class. I marked all methods with [UnitOfWork] still no luck.

Yes, It is passing through but the exception is thrown again where DBContext is accessing.

at Microsoft.EntityFrameworkCore.DbContext.CheckDisposed() at Microsoft.EntityFrameworkCore.DbContext.get_ContextServices() at Microsoft.EntityFrameworkCore.DbContext.get_Model() at Microsoft.EntityFrameworkCore.Internal.InternalDbSet1.get_EntityType() at Microsoft.EntityFrameworkCore.Internal.InternalDbSet1.CheckState() at Microsoft.EntityFrameworkCore.Internal.InternalDbSet1.get_EntityQueryable() at Microsoft.EntityFrameworkCore.Internal.InternalDbSet1.System.Linq.IQueryable.get_Provider() at System.Linq.Queryable.Where[TSource](IQueryable1 source, Expression1 predicate) at Akadimi.Books.BookManager.<SetBookAuthorsAsync>d__9.MoveNext() in D:\Akadimi\Akadimi\aspnet-core\src\Akadimi.Domain\Books\BookManager.cs:line 123 at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at System.Runtime.CompilerServices.TaskAwaiter.GetResult() at Akadimi.Books.BookManager.<CreateAsync>d__7.MoveNext() in D:\Akadimi\Akadimi\aspnet-core\src\Akadimi.Domain\Books\BookManager.cs:line 63 at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at System.Runtime.CompilerServices.TaskAwaiter`1.GetResult() at Akadimi.Books.BooksAppService.

    public class BooksAppService: ApplicationService, IBooksAppService, IDistributedEventHandler<APIBookEto>
    {
        private readonly BookManager _bookManager;
        public BooksAppService(BookManager bookManager)
        {
            _bookRepository = bookRepository;
            _bookManager = bookManager;
        }
        public virtual async Task<BookDto> CreateAsync(BookCreateDto input)
        {
            var titles = ObjectMapper.Map<List<BookTranslationCreateDto>, List<BookTranslation>>(input.inputTitles);
            var book = await _bookManager.CreateAsync(
            input.NoOfPages, input.Dimensions, input.ISBN10, input.ISBN13, input.Price, input.PublishDate,
            titles, input.BookLanguageId, input.BookMediaTypeId, input.AuthorIds, input.PublisherIds, input.TagIds, input.FileId
            );
            return ObjectMapper.Map<Book, BookDto>(book);
        }
       [UnitOfWork]
        public virtual Task HandleEventAsync(APIBookEto eventData)
        {
            Task.Run(async () =>
            {
                try
                {
                    var input = ObjectMapper.Map<APIBookEto, BookCreateDto>(eventData);
                    var titles = ObjectMapper.Map<List<BookTranslationCreateDto>, List<BookTranslation>>(input.inputTitles);
            var book = await _bookManager.CreateAsync(
            input.NoOfPages, input.Dimensions, input.ISBN10, input.ISBN13, input.Price, input.PublishDate,
            titles, input.BookLanguageId, input.BookMediaTypeId, input.AuthorIds, input.PublisherIds, input.TagIds, input.FileId
            );
                }
                catch (Exception ex)
                {
                    Console.WriteLine(ex);
                }
            });
            return Task.CompletedTask;
        }
    }

I can explain the scenario. Here above you can see inside BooksAppService class I have a CreateAsync which is basically inserts data into the database. I have already written all logic inside _bookManager.CreateAsync() function. As you can see I am listening distributed event HandleEventAsync, inside this event function I am executing the same logic which is written in CreateAsync. CreateAsync method is calling through API controller which is perfectly working fine and HandleEventAsync(this is already marked as [UnitOfWork]) is calling through RabbitMq and is throwing the above exceptions.

at Autofac.Core.Lifetime.LifetimeScope.ResolveComponent(ResolveRequest request) at Autofac.ResolutionExtensions.TryResolveService(IComponentContext context, Service service, IEnumerable1 parameters, Object& instance) at Autofac.ResolutionExtensions.ResolveOptionalService(IComponentContext context, Service service, IEnumerable1 parameters) at Volo.Abp.DependencyInjection.AbpLazyServiceProvider.<>c__DisplayClass12_0.<LazyGetService>b__0() at Volo.Abp.DependencyInjection.AbpLazyServiceProvider.LazyGetService(Type serviceType) at Volo.Abp.DependencyInjection.AbpLazyServiceProvider.LazyGetService(Type serviceType, Object defaultValue) at Volo.Abp.DependencyInjection.AbpLazyServiceProvider.LazyGetService[T](T defaultValue) at Volo.Abp.Application.Services.ApplicationService.get_GuidGenerator() at Akadimi.Books.BookAppDistEventService.<CreateAsync>d__8.MoveNext() in D:\Akadimi\Akadimi\aspnet-core\src\Akadimi.Application\Books\BookAppDistEventService.cs:line 79 at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at System.Runtime.CompilerServices.TaskAwaiter`1.GetResult() at Akadimi.Books.BookAppDistEventService.<>c__DisplayClass7_0.<

Showing 61 to 70 of 92 entries
Boost Your Development
ABP Live Training
Packages
See Trainings
Mastering ABP Framework Book
The Official Guide
Mastering
ABP Framework
Learn More
Mastering ABP Framework Book
Made with ❤️ on ABP v10.1.0-preview. Updated on December 17, 2025, 07:08
1
ABP Assistant
🔐 You need to be logged in to use the chatbot. Please log in first.