Hi,
I've provide you read access to the repository.
https://github.com/cpr-ops/web-app
Since this is C# code it's obvious in goes in a .net application. Is that in the front-end application, the ocelot gateway application or the microservice.
If it's in the front end application that won't work for us since we're using Vue for the front-end and using microservices for the backend.
The MVC app is the one that's created with your Microservice Template and we haven't modified it.
The application is running in AKS. I updated the original question with the output from the pod log. The error just repeats infinitely until I delete the application
Check the docs before asking a question: https://docs.abp.io/en/commercial/latest/ Check the samples to see the basic tasks: https://docs.abp.io/en/commercial/latest/samples/index The exact solution to your question may have been answered before, and please first use the search on the homepage. Provide us with the following info:
We have a microservices solution created from the Microservice Template and have deployed it to AKS test environment. We're getting this error in the MVC web application created from the template in what appears to be an infinite loop. We haven't modified the web application from the template. I don't know how long this error has been occurring since I just happened to be viewing the pod logs for a different reason when I saw this. I had to delete the MVC application.
I'm not seeing this error when the application is run via Tye on localhost against the same databases.
[16:57:49 ERR] An exception was thrown while activating Volo.Abp.Identity.UserPasswordChangeRequestedEventHandler.
Autofac.Core.DependencyResolutionException: An exception was thrown while activating Volo.Abp.Identity.UserPasswordChangeRequestedEventHandler.
\-\-\-\> Autofac\.Core\.DependencyResolutionException: None of the constructors found on type 'Volo\.Abp\.Identity\.UserPasswordChangeRequestedEventHandler' can be invoked with the available services and parameters:
Cannot resolve parameter 'Volo.Abp.Identity.IIdentityUserRepository userRepository' of constructor 'Void .ctor(Volo.Abp.Identity.IIdentityUserRepository, Volo.Abp.Identity.IdentityUserManager)'.
See [https://autofac.rtfd.io/help/no-constructors-bindable](https://autofac.rtfd.io/help/no-constructors-bindable) for more info.
at Autofac.Core.Activators.Reflection.ReflectionActivator.<>c\_\_DisplayClass14\_0.b\_\_0(ResolveRequestContext ctxt, Action`1 next) at Autofac.Core.Resolving.Middleware.DelegateMiddleware.Execute(ResolveRequestContext context, Action`1 next)
at Autofac.Core.Resolving.Pipeline.ResolvePipelineBuilder.<>c\_\_DisplayClass14\_0.b\_\_1(ResolveRequestContext ctxt)
at Autofac.Core.Resolving.Middleware.DisposalTrackingMiddleware.Execute(ResolveRequestContext context, Action`1 next) at Autofac.Core.Resolving.Pipeline.ResolvePipelineBuilder.<>c__DisplayClass14_0.<BuildPipeline>b__1(ResolveRequestContext ctxt) at Autofac.Builder.RegistrationBuilder`3.<>c\_\_DisplayClass41\_0.b\_\_0(ResolveRequestContext ctxt, Action`1 next) at Autofac.Core.Resolving.Middleware.DelegateMiddleware.Execute(ResolveRequestContext context, Action`1 next)
at Autofac.Core.Resolving.Pipeline.ResolvePipelineBuilder.<>c\_\_DisplayClass14\_0.b\_\_1(ResolveRequestContext ctxt)
at Autofac.Core.Resolving.Middleware.ActivatorErrorHandlingMiddleware.Execute(ResolveRequestContext context, Action`1 next) --- End of inner exception stack trace --- at Autofac.Core.Resolving.Middleware.ActivatorErrorHandlingMiddleware.Execute(ResolveRequestContext context, Action`1 next)
at Autofac.Core.Resolving.Pipeline.ResolvePipelineBuilder.<>c\_\_DisplayClass14\_0.b\_\_1(ResolveRequestContext ctxt)
at Autofac.Core.Pipeline.ResolvePipeline.Invoke(ResolveRequestContext ctxt)
at Autofac.Core.Resolving.Middleware.RegistrationPipelineInvokeMiddleware.Execute(ResolveRequestContext context, Action`1 next) at Autofac.Core.Resolving.Pipeline.ResolvePipelineBuilder.<>c__DisplayClass14_0.<BuildPipeline>b__1(ResolveRequestContext ctxt) at Autofac.Core.Resolving.Middleware.SharingMiddleware.Execute(ResolveRequestContext context, Action`1 next)
at Autofac.Core.Resolving.Pipeline.ResolvePipelineBuilder.<>c\_\_DisplayClass14\_0.b\_\_1(ResolveRequestContext ctxt)
at Autofac.Core.Resolving.Pipeline.ResolvePipelineBuilder.<>c\_\_DisplayClass14\_0.b\_\_1(ResolveRequestContext ctxt)
at Autofac.Core.Resolving.Middleware.CircularDependencyDetectorMiddleware.Execute(ResolveRequestContext context, Action`1 next) at Autofac.Core.Resolving.Pipeline.ResolvePipelineBuilder.<>c__DisplayClass14_0.<BuildPipeline>b__1(ResolveRequestContext ctxt) at Autofac.Core.Pipeline.ResolvePipeline.Invoke(ResolveRequestContext ctxt) 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.ResolutionExtensions.TryResolveService(IComponentContext context, Service service, IEnumerable`1 parameters, Object& instance)
at Autofac.ResolutionExtensions.ResolveService(IComponentContext context, Service service, IEnumerable`1 parameters) at Autofac.ResolutionExtensions.Resolve(IComponentContext context, Type serviceType, IEnumerable`1 parameters)
at Autofac.ResolutionExtensions.Resolve(IComponentContext context, Type serviceType)
at Autofac.Extensions.DependencyInjection.AutofacServiceProvider.GetRequiredService(Type serviceType)
at Volo.Abp.EventBus.IocEventHandlerFactory.GetHandler()
at Volo.Abp.EventBus.EventBusBase.TriggerHandlerAsync(IEventHandlerFactory asyncHandlerFactory, Type eventType, Object eventData, List`1 exceptions, InboxConfig inboxConfig) at Volo.Abp.EventBus.EventBusBase.TriggerHandlersAsync(Type eventType, Object eventData, List`1 exceptions, InboxConfig inboxConfig)
at Volo.Abp.EventBus.EventBusBase.TriggerHandlersAsync(Type eventType, Object eventData)
at Volo.Abp.EventBus.RabbitMq.RabbitMqDistributedEventBus.ProcessEventAsync(IModel channel, BasicDeliverEventArgs ea)
at Volo.Abp.RabbitMQ.RabbitMqMessageConsumer.HandleIncomingMessageAsync(Object sender, BasicDeliverEventArgs basicDeliverEventArgs)
[16:57:49 ERR] ---------- Exception Data ----------
Could you please be more specific. Maybe I need what and where?
There are multiple topics covered in the link you provided.
We have implemented a microservices architecture using the ABP Commercial Microservice template. The architecture is pretty close to the Abp diagram here https://docs.abp.io/en/commercial/7.2/startup-templates/microservice/index with a few notable exceptions.
The backend applications and gateway are running in a single Azure Kubernetes cluster. The IP address of the gateway pod is 10.1.1.21.
Regardless of which application is executing the microservice method, it appears that the IP address is address for the gateway AKS pod. The expected result would be for the IP Address to be the external IP from the user's machine. (See screenshots from the audit log below). Is this a defect or is there something we need to configure on our end?
We have a number of use cases where it would be ideal to utilize the Azure Service Bus message scheduling feature https://learn.microsoft.com/en-us/azure/service-bus-messaging/message-sequencing, but I can't find anything in the documentation, samples, blog posts or anywhere that shows how to do that.
For example when a client schedules an appointment we'd like to send reminders via SMS and/or email at various intervals (e.g. one week prior, 2 days prior to scheduled date).
Is this possible using AzureDistributedEventBus and if so, what are the detailed steps to implement?
Thank you.
Hi,
You're correct that it's an empty service solution because it was created using the ABP CLI for creating a new micro-service
Since Abp Suite doesn't allow adding new microservices to an existing solution, what we usually do is create a duplicate solution using Abp Suite and the Application template so it can automatically generate the code shell for the entity(ies). For example calling it CprOnAbp.StaffService. For EF Core it's a fairly straight forward process to copy the appropriate folders and files from the application template to the micro-service template because Abp Suite generates all of the code in a similar structure as abp new [service name] -t microservice-service-pro --no-ui.
Because the ABP CLI doesn't allow for creation of a microservice using Mongo DB there should be clear instructions on how to change from EF Core to MongoDB.
Also, the guide seems to be based on all services being MongoDB. IMO, this goes against a micro-service architecture principle where the underlying code and database for each service are independent. We should be able to have a mix of EF Core & MongDB services depending on the use case.
Having said all that, following the guide and creating a new Microservice solution and updating the product service I was still not able to find:
My recommendation for the guide would be to
For now, I'll do my best to update the service for MongoDB and I'll be happy to share the steps and code if I'm successful.
Hi,
I created a new microservice called StaffService From your guide I could not find the following in my solution:
I get the following errors: StaffServiceEntityFrameworkCoreModule.cs [DependsOn( typeof(AbpMongoDbModule), typeof(StaffServiceDomainModule) )] error: The type or namespace name 'AbpMongoDbModule' could not be found (are you missing a using directive or an assembly reference?)CS0246
context.Services.AddMongoDbContext<StaffServiceDbContext>(options => error: IServiceCollection' does not contain a definition for 'AddMongoDbContext' and no accessible extension method 'AddMongoDbContext' accepting a first argument of type 'IServiceCollection' could be found (are you missing a using directive or an assembly reference?)CS1061
Our solution is built on the Microervice template. We want to create a microservice using MongoDb instead of EF Core for SQL Server. Note this is not for all microservices.
The documentation for changing the database from EF Core to MongoDb is out of date: https://docs.abp.io/en/commercial/7.2/guides/microservice-mongodb
For example: Some of the changes appear to be in the EntityFrameworkCore project and some in the domain project but it's not clear. Making changes in the EntityFrameworkCore project doesn't make sense since it's being replaced by MongDb.
Also, these dont' exist: Remove Migrations folder. Update BookStoreDbMigrationService class to the following: (substitute BookStore with the microservice name)
Since Abp Suite doesn't support selecting the database for the Microservice template I created a project using Abp Suite and the Application template for MongDb. Now I'm trying to translate into the Microservice project structure and am struggling.
Please update the documentation, point me to an accurate solution or tell me I'm mistaken.
Thank you.