मुझे निम्नलिखित अपवाद प्राप्त होता है जब मैं Startup.cs
फ़ाइल में Configure
विधि में कस्टम DbContext का उपयोग करने का प्रयास करता हूं। मैं संस्करण 2.0.0-preview1-005977 में ASP.NET कोर का उपयोगएएसपी.नेट कोर 2 में निर्भरता इंजेक्शन अपवाद
बिना क्रिया के अपवाद: System.Exception: प्रकार की एक सेवा पैरामीटर के लिए 'Communicator.Backend.Data.CommunicatorContext' को हल नहीं कर सका dbContext ' 'Communicator.Backend.Startup' प्रकार पर 'कॉन्फ़िगर करें' विधि का। ---> System.InvalidOperationException: रूट प्रदाता से स्कोप्ड सेवा 'Communicator.Backend.Data.CommunicatorContext' को हल नहीं कर सकता।
जब मैं अन्य उदाहरण प्राप्त करने का प्रयास करता हूं तो यह अपवाद भी फेंक दिया जाता है।
बिना क्रिया के अपवाद: System.Exception: के प्रकार 'Communicator.Backend.Services.ILdapService'
...
यहाँ मेरी ConfigureServices
और Configure
तरीकों एक सेवा को हल नहीं कर सका।
public void ConfigureServices(IServiceCollection services)
{
services.AddDbContext<CommunicatorContext>(options => options.UseSqlServer(Configuration.GetConnectionString("DefaultConnection")));
services.AddCookieAuthentication();
services.Configure<LdapConfig>(Configuration.GetSection("Ldap"));
services.AddScoped<ILdapService, LdapService>();
services.AddMvc();
}
public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory, CommunicatorContext dbContext, ILdapService ldapService)
{
app.UseAuthentication();
app.UseWebSockets();
app.Use(async (context, next) =>
{
if (context.Request.Path == "/ws")
{
if (context.WebSockets.IsWebSocketRequest)
{
WebSocket webSocket = await context.WebSockets.AcceptWebSocketAsync();
await Echo(context, webSocket);
}
else
{
context.Response.StatusCode = 400;
}
}
else
{
await next();
}
});
app.UseMvc();
DbInitializer.Initialize(dbContext, ldapService);
}
मैंने पहला बदलाव किया और यह काम करता है। धन्यवाद –
धन्यवाद, यह मेरी समस्या हल करता है। यदि मैं दोनों विकल्पों का परीक्षण करने के बाद और अधिक जोड़ सकता हूं, तो मुझे पता चला कि काम करने के दूसरे विकल्प के लिए मुझे 'IServiceProvider' वापस करने के लिए 'void' (डिफ़ॉल्ट रूप से) लौटने से' कॉन्फ़िगर सर्विसेज 'को संशोधित करने की आवश्यकता है। – muhihsan