2012-07-09 21 views
7

मैं सिर्फ अपनी वेब अनुप्रयोग में ELMAH MVC (v2) स्थापित किया है लेकिन जब मैं/elmah पर लॉग को देखने का प्रयास मैं निम्न अपवादELMAH MVC 2 - के साथ जारी करना कैसल विंडसर

समर्थन करने के लिए कोई घटक मिल Castle.MicroKernel.DefaultKernel.Resolve (प्रकार सेवा) 140 Castle.Windsor.WindsorContainer.Resolve: [सेवा Elmah.Mvc.ElmahController मिला था समर्थन करने के लिए कोई घटक ComponentNotFoundException] सेवा Elmah.Mvc.ElmahController मिला था (सेवा टाइप करें) +40 N2.Engine.Castle.WindsorServiceContainer.Resolve (प्रकार का प्रकार) +40 N2.Engine.ContentEngine.Resolve (टाइप सेर उपाध्यक्ष) +48

वेबसाइट में एन 2 सीएमएस प्रणाली शामिल है जो बदले में कैसल विंडसर का उपयोग करती है।

इस पर कोई विचार है कि मैं इसे कैसे हल कर सकता हूं?

उत्तर

0

प्रश्न पोस्ट करने के तुरंत बाद समाधान का समाधान किया।

var engine = MvcEngine.Create(); 
engine.RegisterControllers(typeof(GlobalApplication).Assembly); 
engine.RegisterControllers(typeof(ElmahController).Assembly); 
0

ELMAH.MVC App_Start कोड आता है, ElmahController मार्ग रजिस्टर करने के लिए Web.Activator का उपयोग करता है: मैं एन 2 के साथ Elmah नियंत्रक रजिस्टर करने के लिए की जरूरत है।

तो, यह मेरे लिए अजीब बात है, क्यों विंडर ElmahController लोड करने में विफल रहता है। डिफ़ॉल्ट रूप से, इसे स्वयं को हल करने का प्रयास करना चाहिए, फिर यदि संभव नहीं है तो नियंत्रक फैक्ट्री को प्रतिनिधि दें।

क्या आप सुनिश्चित हैं कि, ELMAH स्थापित होने के बाद एप्लिकेशन को पुनरारंभ किया गया (iisreset.exe)?

+0

हाय अलेक्जेंडर, मैंने यह सुनिश्चित करने के लिए अभी पुन: प्रयास किया है कि मैंने आईआईएस (इस मामले में आईवी एक्सप्रेस को एक देव मशीन पर) के रूप में पुनरारंभ किया है और मुझे एल्माह लॉग को देखने में सक्षम होने के लिए एन 2 इंजन के साथ एल्मा नियंत्रक को निश्चित रूप से पंजीकरण करना होगा – FloatLeft

+0

@alexanderb हे एलेक्स, मैं भी Elmah.MVC (इस स्वाद के साथ पहली बार) के साथ विंडसर का उपयोग कर रहा हूं और जब मैं mysite.com/elmah पर जाता हूं तो मुझे संदेश मिलता है "सेवा का समर्थन करने के लिए कोई घटक नहीं Elmah.Mvc.ElmahController था मिल गया"। कोई संकेत? इसके अलावा, मुझे आपके ब्लॉग में बिट्स और टुकड़ों के अलावा Elmah.MVC पर कोई भी समर्पित दस्तावेज़ नहीं मिला। –

+0

@ डैनबी हाय दान, दुर्भाग्य से समस्या "केवल" हवा से समस्या का निदान करना मुश्किल है :) .. मैं आपको एक पक्ष के लिए पूछना चाहता हूं - क्या आप कृपया [github] (https: // github] पर समस्या उठा सकते हैं। com/alexanderbeletsky/elmah.mvc) और मेरे ई-मेल पते (मेरी प्रोफ़ाइल में) के लिए "टूटा हुआ" समाधान भेजा। मैं समस्या ढूंढने का वादा करता हूं और समाधान के साथ वापस आ गया :) –

15

मैं यह जानता हूँ पहले से ही स्वीकार किए जाते हैं जवाब है, और यह पूरी तरह से अपने प्रश्न के लिए प्रासंगिक नहीं है, लेकिन किसी और को नहीं एन 2 का उपयोग करने और Elmah.MVC + महल विंडसर के साथ समस्याओं में घिर गए के लिए, आप में नियंत्रकों रजिस्टर करने की आवश्यकता Elmah.MVC विंडसर के साथ असेंबली। एक बार मैं जोड़ा इस महल ElmahController ठीक ढूँढने में सक्षम हो रहा है

public class ElamhInstaller : IWindsorInstaller 
{ 
    public void Install(IWindsorContainer container, IConfigurationStore store) 
    { 
     container.Register(Classes.FromAssemblyNamed("Elmah.Mvc") 
      .BasedOn<IController>() 
      .LifestyleTransient()); 
    } 
} 

: मैं मेरे लिए यह संभाल करने के लिए एक सरल संस्थापक बना दिया।

+0

धन्यवाद।टीम सिटी में मेरे एकीकरण परीक्षणों को काम करने के लिए मुझे केवल एक चीज बदलनी पड़ी थी, "क्लासेस। फ्रॉमएस्प्लर्स नामांकित (" एल्माह.एमवीसी ")" इस "कक्षाओं में। फ्रॉमएस्प्लिब्स (टाइपोफ (एल्मा कंट्रोलर)। एस्प्लोरस)"। किसी प्रकार के अनुकूलन ने डीएल को हटा दिया और मुझे "फाइल या असेंबली लोड नहीं हो सका 'Elmah.Mvc'" –

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