Ninject,linqtosql,请求每个控制器的作用域而不注入
我最近看到了这篇文章,题目是: Linq到Sql和ASP.NET MVC–每个请求的数据上下文 在此链接: 我想使用ninject而不是structuremap来设置它,最好使用新的mvc 3依赖项解析器,因为我使用的是mvc 3 rtm 本条的相关部分如下: 首先,您需要通过调用ObjectFactory来配置StructureMap。在Global.asax中进行配置,并传入一个自定义注册表实例:Ninject,linqtosql,请求每个控制器的作用域而不注入,ninject,Ninject,我最近看到了这篇文章,题目是: Linq到Sql和ASP.NET MVC–每个请求的数据上下文 在此链接: 我想使用ninject而不是structuremap来设置它,最好使用新的mvc 3依赖项解析器,因为我使用的是mvc 3 rtm 本条的相关部分如下: 首先,您需要通过调用ObjectFactory来配置StructureMap。在Global.asax中进行配置,并传入一个自定义注册表实例: protected void Application_Start() { Register
protected void Application_Start() {
RegisterRoutes(RouteTable.Routes);
ObjectFactory.Configure(cfg => {
cfg.AddRegistry(new MyRegistry());
});
}
public class MyRegistry : Registry {
public MyRegistry() {
For<BlogDataContext>()
.HttpContextScoped()
.Use(c => new BlogDataContext());
Scan(scan => {
scan.AddAllTypesOf<Controller>();
});
}
}
MyRegistry的代码如下所示:
protected void Application_Start() {
RegisterRoutes(RouteTable.Routes);
ObjectFactory.Configure(cfg => {
cfg.AddRegistry(new MyRegistry());
});
}
public class MyRegistry : Registry {
public MyRegistry() {
For<BlogDataContext>()
.HttpContextScoped()
.Use(c => new BlogDataContext());
Scan(scan => {
scan.AddAllTypesOf<Controller>();
});
}
}
然后,我们可以在应用程序\u Start中用StructureMapControllerFactory替换DefaultControllerFactory:
protected void Application_Start() {
RegisterRoutes(RouteTable.Routes);
ObjectFactory.Configure(cfg => {
cfg.AddRegistry(new MyRegistry());
});
ControllerBuilder.Current.SetControllerFactory(
new StructureMapControllerFactory());
}
我想用ninject 2.0做同样的事情,而不是结构图。我正在用ninject mvc3构建一个mvc 3站点。我从nuget下载了ninject mvc 3软件包,我的解决方案中有一个文件,用于连接ninject。
AppStart_NinjectMVC3.cs
我不想使用structurmap,我知道同样的设置可以用ninject完成,但我不确定如何连接它
谢谢。我宁愿使用位于的ninject项目的官方mvc3扩展。它附带了一个完整的示例应用程序,展示了如何连接mvc3应用程序