2016-06-01 7 views
7

में startup.cs में Configure.cervices क्लास async बना सकता हूं, मुझे Startup.cs में ConfigureServices में कुछ प्रतीक्षा फ़ंक्शन जोड़ने की आवश्यकता है और मैं किसी समस्या में चल रहा हूं।क्या मैं mvc 6

सिस्टम। इन्वाइडऑपरेशन अपवाद आवश्यक सेवाओं को ढूंढने में असमर्थ। एप्लिकेशन स्टार्टअप कोड में 'IAplicationBuilder.ConfigureServices (...)' या 'IAplicationBuilder.UseMvc (...)' पर कॉल के अंदर 'IServiceCollection.AddMvc()' को कॉल करके सभी आवश्यक सेवाएं जोड़ें।

जैसा कि नीचे दिए गए कोड के अनुसार देखा गया है, AddMvc & UseMvc उनके सही स्थानों में हैं, हालांकि, मुझे अभी भी यह त्रुटि मिलती है।

public async void ConfigureServices(IServiceCollection services) 
{ 
    ... 
    await manager.Initialize(); 
    var data = await manager.GetData(); 
    ... 
    services.AddMvc(); 
} 

public void Configure(IApplicationBuilder app, IHostingEnvironment env,ILoggerFactory loggerFactory) 
{ 
    ... 
    app.UseMvc(); 
    .... 
} 

क्या कॉन्फ़िगर सर्विसेज को एसिंक फ़ंक्शन बनाना संभव है?

उत्तर

13

नहीं, आप नहीं कर सकते। ऐसा करने से दौड़ की स्थिति होगी।

इसके बजाय, एसिंक्रोनस कार्य पूरा होने तक ब्लॉक करने के लिए अपने ऑपरेशन को सिंक्रोनस या .Wait()/.Result (एसिंक विधि डेटा लौटाता है या नहीं) का उपयोग करने पर विचार करें।

संबंधित मुद्दे