ASP MVC Entity Framework binding باستخدام Ninject

أنا باستخدام Ninject في مشروع ASP MVC 3 الخاص بي ، لقد قمت بتعديل الملف global.asax (كما هو معتاد) ثم قمت بإنشاء فئة NinjectControllerFactory مثل هذا:

public class NinjectControllerFactory : DefaultControllerFactory  
    {
        private IKernel ninjectKernel;  
        public NinjectControllerFactory()  
        {
            ninjectKernel = new StandardKernel();  
            AddBindings();  
        }    
        protected override IController GetControllerInstance(RequestContext requestContext,
        Type controllerType)  
        {
            return controllerType == null  
            ? null  
            : (IController)ninjectKernel.Get(controllerType);  
        }  
        private void AddBindings()  
        {
           //put additional bindings here
            ninjectKernel.Bind().To();
        }  
    }

كل هذا يعمل بشكل جيد.

الآن أريد إضافة كائن سياق كيان الكيان الخاص بالربط ، حتى لا يلزم إنشاء مثيل جديد له لكل خدمة.

يمكن لأحد أن يقول كيف نفعل ذلك؟

هل يجب علي إنشاء واجهة جديدة تحدد فقط سياق إطار الكيان؟

شكر

0

1 إجابة

يمكنك استخدام الربط الذاتي

kernel.Bind().ToSelf();

ملاحظة: يجب أيضًا التحقق من حزمة Ninject.MVC3 على nuget

0
وأضاف
شكرا يا أركيل ، سأحاول ذلك قريبا.
وأضاف المؤلف gunnerz, مصدر