में अशक्त नियंत्रक उदाहरण मैं अभी भी StructureMap के साथ चीजों को यह पता लगाने की कोशिश कर रहा हूँ और मुद्दों मैं में चल रहा हूँ में से एक मेरी नियंत्रक फैक्टरी उड़ा जब एक अशक्त नियंत्रक प्रकार यह करने के लिए पारित हो जाता है वर्ग है। यह तब होता है जब एप्लिकेशन पहली बार बनाता है, जिसके बाद प्रत्येक आगामी निर्माण ठीक काम करता है। यहां तक कि जब मैं विजुअल स्टूडियो को बंद करता हूं और प्रोजेक्ट को फिर से खोलता हूं (मैं इसे आईआईएस में नहीं चला रहा हूं)। ऐसा लगता है कि कुछ प्रकार के कैशिंग चल रहे हैं। नियंत्रक वर्ग इस तरह दिखता है:StructureMap नियंत्रक कारखाने और MVC
public class IocControllerFactory : DefaultControllerFactory
{
protected override IController GetControllerInstance(Type controllerType)
{
try
{
return (Controller)ObjectFactory.GetInstance(controllerType);
}
catch (StructureMapException)
{
System.Diagnostics.Debug.WriteLine(ObjectFactory.WhatDoIHave());
throw;
}
}
}
क्या गलत हो सकता है? क्या मुझे हर नियंत्रक पंजीकृत होना चाहिए? धन्यवाद।
इसका मतलब आपके पास एक शून्य नियंत्रक द्वारा पारित किया गया है? – David
मेरा मतलब है नियंत्रक प्रकार का एक शून्य संदर्भ GetControllerInstance() को पास किया जा रहा है। जो मुझे समझ में नहीं आता वह वह जगह है जहां से नल संदर्भ आ रहा है। मुझे लगता है कि एमवीसी फ्रेमवर्क एक शून्य नियंत्रक उदाहरण गुजर रहा है? मैंने शुरू में सोचा था कि स्ट्रक्चर मैप के साथ इसका कुछ संबंध था, लेकिन यह मामला जैसा नहीं दिखता है। मुझे लगता है कि मैं विधि में एक शून्य के लिए एक चेक डाल सकता हूं, लेकिन मैं यह समझूंगा कि यह क्यों कर रहा है कि यह क्यों कर रहा है। सबसे अजीब चीज यह है कि प्रोजेक्ट खोलने के बाद ऐसा होता है और इसे रीबूट के बाद विजुअल स्टूडियो में पहली बार बनाया जाता है। यह उसके बाद हर बार काम करता है। –
मैं एक ही समस्या में चल रहा हूं। किसी के पास अभी तक इसका समाधान है? –