आप StaticClass पर नियंत्रक के पैरामीटर द्वारा HttpContext.Current पास कर सकते हैं लेकिन एक खराब प्रथा है।
नियंत्रक के कन्स्ट्रक्टर में एक सर्वोत्तम प्रथाओं को कार्यान्वयन वर्ग का इंटरफेस मिलता है।
private readonly IService _service;
public HomeController(IService service)
{
_service = service;
}
और सेवा वर्ग में
private readonly HttpContextBase _httpContext;
public Service (HttpContextBase httpContext)
{
_httpContext= httpContext;
}
तो संकल्प dependences के लिए आईओसी Containner (Ninject, AutoFac आदि) का उपयोग
AutoFac (Global.asax) में
उदाहरण
builder.RegisterControllers(typeof(MvcApplication).Assembly);
builder.RegisterModule(new AutofacWebTypesModule());
builder.RegisterType<Service>().As<IService>().InstancePerLifetimeScope();
स्रोत
2012-01-27 11:11:08
इसका कारण है "अनुरोध इस संदर्भ त्रुटि में उपलब्ध नहीं है" – oneNiceFriend