2011-03-27 15 views
6

का उपयोग कर मेरे पास डब्ल्यूसीएफ 4 सेवा है जिसमें wsHttp बाइंडिंग और नेट टीसीपी बाइंडिंग का उपयोग करने के लिए कॉन्फ़िगर किए गए 2 एंडपॉइंट्स हैं। मैं डब्ल्यूएएस का उपयोग कर आईआईएस 7.5 के भीतर सेवा की मेजबानी कर रहा हूं और मेरी सेवा में डीआई के लिए निनजेक डब्ल्यूसीएफ एक्सटेंशन का उपयोग कर रहा हूं। मेरी सेवा ठीक काम करती है जब मैं अपनी सेवा कॉल करने के लिए wsHttp बाइंडिंग एंडपॉइंट का उपयोग करता हूं लेकिन जब मैं netTcp बाइंडिंग का उपयोग करता हूं तो विफल रहता है। जब मैं अपने एप्लिकेशन इवेंट लॉग में देखता हूं तो मुझे नीचे दी गई निम्न त्रुटि मिलती है।निनेट डब्लूसीएफ एक्सटेंशन ArgumentNullException .NET.TCP बाध्यकारी

मैंने वीएस -2010 में समस्या को डीबग करने का प्रयास किया है, लेकिन इसके साथ कहीं भी तेजी से नहीं मिल रहा है। यदि संभव हो तो मैं अपनी डब्ल्यूसीएफ सेवा से निनजेक्ट को हटाना नहीं चाहता हूं। मैं समझता हूं कि मैं सिर्फ wsHttp बाइंडिंग का उपयोग कर सकता हूं लेकिन मैं यह एक आंतरिक सेवा है और मैं प्रदर्शन लाभ प्राप्त करना चाहता हूं जो netTcp बाइंडिंग प्रदान करता है।

WebHost failed to process a request. 
Sender Information: System.ServiceModel.ServiceHostingEnvironment+HostingManager/3018
Exception: System.ServiceModel.ServiceActivationException: The service '/ProfileService.svc' cannot be activated due to an exception during compilation. The exception message is: Cannot be null 
Parameter name: root. ---> System.ArgumentNullException: Cannot be null 
Parameter name: root 
    at Ninject.Infrastructure.Ensure.ArgumentNotNull(Object argument, String name) in c:\Projects\Ninject\ninject\src\Ninject\Infrastructure\Ensure.cs:line 20 
    at Ninject.ResolutionExtensions.Get[T](IResolutionRoot root, IParameter[] parameters) in c:\Projects\Ninject\ninject\src\Ninject\Syntax\ResolutionExtensions.cs:line 37 
    at System.ServiceModel.Activation.ServiceHostFactory.CreateServiceHost(String constructorString, Uri[] baseAddresses) 
    at System.ServiceModel.ServiceHostingEnvironment.HostingManager.CreateService(String normalizedVirtualPath) 
    at System.ServiceModel.ServiceHostingEnvironment.HostingManager.ActivateService(String normalizedVirtualPath) 
    at System.ServiceModel.ServiceHostingEnvironment.HostingManager.EnsureServiceAvailable(String normalizedVirtualPath) 
    --- End of inner exception stack trace --- 
    at System.ServiceModel.ServiceHostingEnvironment.HostingManager.EnsureServiceAvailable(String normalizedVirtualPath) 
    at System.ServiceModel.ServiceHostingEnvironment.EnsureServiceAvailableFast(String relativeVirtualPath) 
Process Name: w3wp 
Process ID: 8656 

क्या कोई ऐसा व्यक्ति है जो इस समस्या से मदद कर सकता है? इस पर किसी भी मदद की सराहना की जाएगी।

उत्तर

7

अगर मैं सही हूँ, मुझे लगता है कि आप जो KernelContainer का उपयोग करता है एक पुराने संस्करण का उपयोग किया जा सकता है। KernelContainer पर आपको Kernel सेट करने की आवश्यकता है। देखें:

https://github.com/ninject/ninject.extensions.wcf/blob/52bb83728774701ec42b5f76b096bec934dfe419/src/Ninject.Extensions.Wcf/KernelContainer.cs

4

गूगल समाचार समूह में समान प्रश्न के उत्तर देखें: http://groups.google.com/group/ninject/browse_thread/thread/54108ef9e848b8f0

+0

धन्यवाद Remo, इस Ninject समूह में मेरी पोस्ट lol था। मैंने सोचा कि मैं यह सुनिश्चित करने के लिए दोनों में पोस्ट करूंगा कि मुझे लगता है कि मुझे जवाब देने के लिए एक विशेषज्ञ प्रकार का सवाल हो सकता है। अभी भी इस पर काम कर रहा है ताकि एक बार मुझे जवाब मिल जाए तो दूसरों को देखने के लिए यहां पोस्ट किया जाएगा। – Cragly

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