The biggest thing I would like to see is if a solution was found, even if the submitter figured it out independently. The solution should be added before it is closed. That would help all of us trying to search for an issue that has already been solved by someone. I often find a support ticket for the exact issue I am having, but there are no comments about how it was fixed because either one person solved it and did not reply about how they fixed it or some other similar situation.
That was the first thing I tried. Also reinstalling my localhost cert.
I updated ABP CLI and Abp Suite to 8.0.4 from 8.0.2 and now ABP Suite doesn't work with HTTPS. I can get it to come up just fine in an incognito window with HTTP. But it tries to just redirect to HTTPS if I am not in an incognito window. Is there anything I can do to fix this and did something change to cause this?
No I just want to call the AbpSettings and get the stored AzureOpenId settings so I can insert them into the above options section.
How would I get access to the ExternalProviders settings within my BlazorModule? I want to use the settings to configure the AzureOpenId external provder instead of keeping them in appsettings.json likle I am below.
context.Services.AddAuthentication()
.AddOpenIdConnect("AzureOpenId", "Azure AD", options =>
{
options.ResponseType = OpenIdConnectResponseType.CodeIdToken;
options.RequireHttpsMetadata = false;
options.SaveTokens = true;
options.GetClaimsFromUserInfoEndpoint = true;
options.Scope.Add("email");
options.Scope.Add("openid");
options.Scope.Add("profile");
options.Scope.Add("User.Read");
options.ClaimActions.MapJsonKey(ClaimTypes.NameIdentifier, "sub");
options.CallbackPath = "/signin-azuread-oidc";
options.Authority = configuration["AzureAd:Authority"];
options.ClientId = configuration["AzureAd:ClientId"];
options.ResponseType = OpenIdConnectResponseType.CodeIdToken;
options.CallbackPath = "/signin-azuread-oidc";
options.ClientSecret = configuration["AzureAd:ClientSecret"];
});
I found out what was causing this and have a kind of workaround, at least one that works for me. What was causing it is we use IronPDF for rendering of PDFs and it uses SixLabors.ImageSharp version 3.0.2 which has some missing or changes that the ImageCompressor and the ImageSharpImageResizerContributor was dependent on. I created my own versions of both those classes and set the attribute to [Dependency(ReplaceServices = true)] and ExposeServices of the interfaces. Since we do not use profile images I just left the methods with the throw new System.NotImplementedException. This seems to work but I would rather not do this. Any possibilities of updating SixLabors.ImageSharp to version 3.0.2?
Does anyone have any ideas on this? I wanted to add I deleted my version of LoginModel to narrow down the problem and I still had the same issue.
Hello after updating to v7.4.0 (I did not seem to have this issue in 7.3.3) I am not getting an exception from my custom LoginModel. It seems to be something to do with the ImageSharpImageCompressorContributor. I tried adding the a DependsOn AbpImagingImageSharpModule and then configuring the "ImageSharpCompressOptions" but that didn't seem to work at all. Do you have any ideas why I would be getting the below exception after updating to 7.4.0?
Autofac.Core.DependencyResolutionException: An exception was thrown while activating Cure8.Blazor.Pages.Account.Cure8LoginModel -> Volo.Abp.Account.AccountAppService -> Volo.Abp.Imaging.ImageCompressor -> λ:Volo.Abp.Imaging.IImageCompressorContributor[] -> Volo.Abp.Imaging.ImageSharpImageCompressorContributor.
---> Autofac.Core.DependencyResolutionException: An exception was thrown while invoking the constructor 'Void .ctor(Microsoft.Extensions.Options.IOptions1[Volo.Abp.Imaging.ImageSharpCompressOptions])' on type 'ImageSharpImageCompressorContributor'. ---> System.MissingMethodException: Method not found: 'Void SixLabors.ImageSharp.Formats.Jpeg.JpegEncoder.set_Quality(System.Nullable
1<Int32>)'.
at Volo.Abp.Imaging.ImageSharpCompressOptions..ctor()
at System.RuntimeType.CreateInstanceOfT()
--- End of inner exception stack trace ---
at Autofac.Core.Activators.Reflection.BoundConstructor.Instantiate()
at Autofac.Core.Activators.Reflection.ReflectionActivator.<>c__DisplayClass14_0.<UseSingleConstructorActivation>b__0(ResolveRequestContext ctxt, Action1 next) at Autofac.Core.Resolving.Middleware.DisposalTrackingMiddleware.Execute(ResolveRequestContext context, Action
1 next)
at Autofac.Builder.RegistrationBuilder3.<>c__DisplayClass41_0.<PropertiesAutowired>b__0(ResolveRequestContext ctxt, Action
1 next)
at Autofac.Core.Resolving.Middleware.ActivatorErrorHandlingMiddleware.Execute(ResolveRequestContext context, Action1 next) --- End of inner exception stack trace --- at Autofac.Core.Resolving.Middleware.ActivatorErrorHandlingMiddleware.Execute(ResolveRequestContext context, Action
1 next)
at Autofac.Core.Resolving.Middleware.SharingMiddleware.Execute(ResolveRequestContext context, Action1 next) at Autofac.Core.Resolving.Middleware.CircularDependencyDetectorMiddleware.Execute(ResolveRequestContext context, Action
1 next)
at Autofac.Core.Resolving.ResolveOperation.GetOrCreateInstance(ISharingLifetimeScope currentOperationScope, ResolveRequest request)
at Autofac.Core.Resolving.ResolveOperation.ExecuteOperation(ResolveRequest request)
at Autofac.ResolutionExtensions.TryResolveService(IComponentContext context, Service service, IEnumerable1 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.AspNetCore.Mvc.UI.RazorPages.ServiceBasedPageModelActivatorProvider.<>c__DisplayClass0_0.
I read the documentation for both Background Jobs and Background Workers, but I am a bit confused. I have a application that will essentially be a worker service with many background tasks happening. I implemented Quartz and SilkierQuartz to handle these. But I am unsure what is best practice for when to use Background Jobs vs Background Workers. Any advice or help would be greatly appreciated.
Example of scheduled jobs or workers that will be running daily. I am hoping to get advice if the below should be processed as Background Jobs or Workers. There will be either one or many jobs/workers doing these tasks below and they will run twice a day using Quartz Cron Scheduler. 1. FileReceivedActivity: File comes in from SFTP waiting to be processed. Task will run twice a day to pick up those files and then queue them in Azure Service Bus Queue to go through the file processing workflow. 2. ProcessQueueFiles: Starts processing the queue which will do the following activities. 3. DecryptActivity: Decrypts the incoming file and moves it into the processing folder 4. MalwareScanActivity: Scans the file(s) for malware and decides the next action based on the scan result. (Either quarantines the file or starts the next step) 5. AzureBlobActivity: Saves the encrypted version of the file in Azure Blob Storage and adds a location pointer to the database. 6. MoveFileActivity: Moves the file(s) to the correct customer folder to be processed by 3rd party application.
Thank you very much