با سلام و تشکر از پاسخگوییتون.
چطور میتونم در .Net 6 در فایل Program.cs به سرویسهام دسترسی داشته باشم؟
با سلام مجدد.
ISiteService _siteService = app.Services.GetRequiredService<ISiteService> ();این خط کد رو بر اساس لینک قرار دادم، اما سیستم این ارور را داد:
Unhandled exception. System.InvalidOperationException: Cannot resolve scoped service 'Surveyfa.Core.Services.Interfaces.ISiteService' from root provider.
at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteValidator.ValidateResolution(Type serviceType, IServiceScope scope, IServiceScope rootScope)
at Microsoft.Extensions.DependencyInjection.ServiceProvider.GetService(Type serviceType, ServiceProviderEngineScope serviceProviderEngineScope)
at Microsoft.Extensions.DependencyInjection.ServiceProvider.GetService(Type serviceType)
at Microsoft.Extensions.DependencyInjection.ServiceProviderServiceExtensions.GetRequiredService(IServiceProvider provider, Type serviceType)
at Microsoft.Extensions.DependencyInjection.ServiceProviderServiceExtensions.GetRequiredService[T](IServiceProvider provider)
at Program.<Main>$(String[] args) in E:\Projects\Surveyfa\Surveyfa.Web\Program.cs:line 29با سلام مجدد.
مشکل این بود که نمیشه در Program.cs به این صورت به سرویسها دسترسی داشت. راه حل جایگزینی کد قبلی با این بود:
var scope = app.Services.CreateScope();
IService _service = scope.ServiceProvider.GetService<IService>();
// After
_service.SayHiToplearn("Matin mohammadi");
با تشکر از شما دوست من بابت به اشتراک گذاری راه حل
خداروشکر مشکل رفع شد
موفق باشید دوست من