2012-05-10 7 views
7

यहाँ यहाँ मेरी मॉड्यूलWCF का उपयोग कर Ninject निपटान requestscope में ट्रिगर नहीं कर

internal class WebServiceConfiguration : NinjectModule 
{ 
    public override void Load() 
    { 
     Bind<IWebService>().To<WebService>().InRequestScope(); 
    } 
} 

है Global.asax

public class Global : NinjectHttpApplication 
{ 
    protected override IKernel CreateKernel() 
    { 
     return new StandardKernel(new WebServiceConfiguration()); 
    } 
} 

मैं भी InScope की कोशिश की (ग => OperationContext.Current)

है

IWebService

[ServiceBehavior(InstanceContextMode = InstanceContextModeDefinition.Mode)] 
[AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)] 
public class WebService : IWebService 
{ 
    private readonly ISomeService _someService; 

    public WebService(ISomeService someService) 
    { 
     _someService = someService; 
    } 

    public void Dispose() 
    { 
     _someService.Dispose(); 
    } 
012 में IDISposable के साथ मेरी सेवा यहां दी गई है

यहाँ सेवा मार्कअप

<%@ ServiceHost Language="C#" Debug="true" Factory="Ninject.Extensions.Wcf.NinjectDataServiceHostFactory" Service="WCFTest.Services.WebService" CodeBehind="WebService.svc.cs" %> 

निर्भरता काम करता है के इंजेक्शन में ServiceHostFactory है। मेरी एकमात्र चिंता यह है कि जब ग्राहक सेवा कॉल बंद कर देता है तो निपटान विधि को ट्रिगर नहीं किया जा रहा है।

मैंने फैक्टरी = "Ninject.Extensions.Wcf.NinjectDataServiceHostFactory" को हटाने का प्रयास किया है, यह जांचने के लिए कि डिप्लोस कहलाएगा, और यह कॉल किया गया लेकिन निश्चित रूप से मेरे पास ऑटो इंजेक्शन नहीं होगा। तो कुछ ऐसा हो सकता है जो मैं सेटअप में गलत कर रहा हूं? या निदान पर एक बग है जिसे निपटान नहीं किया जा रहा है?

नोट: मैं निंजा wcf एक्सटेंशन में नमूना सेटअप लेता हूं और बस कुछ DI जोड़ता हूं।

आपकी सहायता की सराहना की जाएगी।

Btw: मैं Ninject 3.0.0.15, Ninject.Extensions.Wcf 3.0.0.5, Ninject.Web.Common 3.0.0.7

उत्तर

6

उपयोग

Bind<IWebService, WebService>().To<WebService>().InRequestScope(); 
+0

हाय Remo उपयोग कर रहा हूँ, धन्यवाद। –

+0

रेमो, क्या आप इसे थोड़ा सा समझा सकते हैं कि यह समस्या कैसे हल करता है? धन्यवाद – Hari

+2

डब्ल्यूसीएफ एक वेब सेवा उदाहरण का अनुरोध करता है IWebService नहीं –

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