मैं इसHttpcontext.Session Application_Start विधि में कहा जाता है Ninject
private void RegisterDependencyResolver()
{
HttpContextBase context = new HttpContextWrapper(HttpContext.Current);
var kernel = new StandardKernel();
kernel.Bind<ISession>().To<SessionService>()
.InRequestScope()
.WithConstructorArgument("context", ninjectContext => context);
DependencyResolver.SetResolver(new NinjectDependencyResolver(kernel));
}
RegisterDependencyResolver तरह Ninject का उपयोग कर HttpContext इंजेक्शन लगाने हूँ() के साथ अशक्त हमेशा होता है।
यह इंटरफ़ेस सत्र को संभालने वाली कक्षा के निर्माता में इंजेक्शन दिया जाता है।
समस्या यह है कि सत्र कभी शुरू नहीं हुआ है इसलिए मैं इसमें कुछ भी जोड़ नहीं सकता।
context.session ["something"] = "something" जैसे कोई भी कोड एक शून्य संदर्भ अपवाद उठाता है।
क्या एप्लिकेशन_ जीवन चक्र में बहुत जल्दी है? मैंने सोचा .InequequestScope() इसे ठीक करता है लेकिन यह मेरे लिए काम नहीं करता है।
वहाँ एक सत्र जब आवेदन शुरू होता नहीं है। – Amy
https://github.com/ninject/ninject.web.mvc/blob/Maintenance_2.2/mvc3/src/Ninject.Web.Mvc/Bootstrapper.cs पंक्तियां देखें: 68 और 69 –