Tag: ninject

Ninject MVC3 – 引导程序抛出“已初始化”exception

我创build了一个空的Asp.Net MVC3项目,并使用nuget install-package Ninject.MVC3 没有做任何事情(没有服务注册,甚至没有创build一个控制器)我运行该应用程序。 该项目在NinjectMVC3.cs中的第22行中断,但有以下例外: Ninject.Web.Mvc.Bootstrapper.Initialize(Func`1 createKernelCallback)in c:\ Projects \ Ninject \ Maintenance2.2 \ ninject.web.mvc \ mvc3 \ src \ Ninject.Web.Mvc \ Bootstrapper.cs>:58 Mvc.App_Start.NinjectMVC3.Start()in c:\ Projects \ Events \ Events \ App_Start \ NinjectMVC3.cs:22 [TargetInvocationException:调用的目标引发了exception。] System.RuntimeMethodHandle._InvokeMethodFast(IRuntimeMethodInfo方法,Object target,Object []参数,SignatureStruct&sig,MethodAttributes methodAttributes,RuntimeType typeOwner)+0 System.RuntimeMethodHandle.InvokeMethodFast(IRuntimeMethodInfo方法,Object target,Object []参数,Signature sig,MethodAttributes methodAttributes,RuntimeType typeOwner)+72 System.Reflection.RuntimeMethodInfo.Invoke(Object obj,BindingFlags invokeAttr,Binder binder,Object []参数,CultureInfo culture,Boolean skipVisibilityChecks)+335 System.Reflection.RuntimeMethodInfo.Invoke(Object […]

Ninject InRequestScope丢失

有几个关于ninject最新版本(2.2.1.4)的问题。 正在尝试将Linq2sql DataContext绑定到具体实现InRequestScope (在类库项目中) Bind<DataContext>().To<MoneywatchDataContext>() 但找不到InRequestScope方法 结束了这样做, Bind<DataContext>().To<MoneywatchDataContext>().InScope(ctx => HttpContext.Current) 只是想知道是否: 如果这将performance完全像InRequestScope方法。 这将保证,当我的HTTContext.Current是GC'ed底层的DataCotext也将被处置。

ASP.NET MVC 4 + Ninject MVC 3 =没有为此对象定义的无参数构造函数

更新 – 请看我的答案,以解决这个问题的链接和解释 在我们开始之前,我知道这是一个非常普遍的问题,我已经使用Ninject的许多卫星没有问题,但现在它出现了,我不能找出一个修复。 另外,不,Google和SO迄今为止的结果都没有帮助我。 所以,考虑下面的代码在Windows Server 2008 R2上从Visual Studio 2012的一个非常非常非常简单的原型ASP.NET MVC 4项目上运行: public class DefaultController : Controller { private IGroupPrincipalRepository GroupPrincipalRepository { get; set; } [Inject] public DefaultController( IGroupPrincipalRepository groupPrincipalRepository) { this.GroupPrincipalRepository = groupPrincipalRepository; } } 这里是NinjectWebCommon.cs RegisterServices方法: kernel.Bind(typeof(IGroupPrincipalRepository)).ToConstructor( c => new GroupPrincipalRepository(new PrincipalContext(ContextType.Domain, "?", "?", "?", "?"))).InSingletonScope(); 现在,这就是我使用Ninject的其他项目(但.NET 4上的ASP.NET MVC 3)的工作方式,据我所知,这是使一切正常工作所需的。 那么,为什么我突然变得没有为这个对象定义无参数的构造函数。 exception? […]

Ninject:使用Ninject注册一个已经创build的实例?

任何人都可以告诉我,如果我可以注册一个已经创build的Ninject类的实例,以便它将使用这个实例,每次它需要注入? 我想你可以称之为单身,但我已经创build了实例。 所有文档都指向创build一个类的新实例。

N注入通用接口

我定义了一个接口和一个类: public interface IRepository<T> { } public class RoleRepository:IRepository<Domain_RoleInfo> { } 在这里注入: public RoleService { [Inject] public RoleService(IRepository<Domain_RoleInfo> rep) { _roleRep=rep; } } 如何执行Ninject的dependency injection,说如何绑定? 我已经写了一个助手类,如下所示,它与非通用接口工作正常。但如何重构它支持通用接口如上? public class RegisterNinjectModule : NinjectModule { public override void Load() { BindServices(); BindRepositories(); } private void BindServices() { FindAndBindInterfaces("RealMVC.Service.Interfaces", "RealMVC.Services"); } private void BindRepositories() { FindAndBindInterfaces("RealMVC.Repository.Interfaces", "RealMVC.Repositories"); } private […]

Ninject +绑定通用存储库

我试图绑定一个通用的IRepository <>接口到我的通用库<> – 但它总是返回null? 我曾尝试过各种各样的事情: Bind(typeof(IRepository<CustomerModel>)).To(typeof(Repository<CustomerModel>)); Bind(typeof(IRepository<>)).To(typeof(Repository<>)); 但是,如果我通过一个非generics的接口和类,那么它的作品就像一个梦想?

WebActivator做什么?

这个代码是在为使用NuGet的SQL Server CE添加entity framework代码之后为我生成的。 他们没有改变任何其他文件。 文件SQLCEEntityFramework.cs已创build并放置在App_Start文件夹中。 这是否意味着它会自动执行或什么? 当我为MVC 3添加Ninject时,也发生了同样的事情。没有代码被添加到global.ascx文件,所以我不知道它的即插即用或我必须configuration的东西。 [assembly: WebActivator.PreApplicationStartMethod(typeof(StackTorrents.WebUI.App_Start.SQLCEEntityFramework), "Start")]

NInject:你在哪里保持你对内核的引用?

我在一个新的Web应用程序上使用NInject,有两件事情我不清楚: 我不需要保持对内核的引用(Session / Appvariables),以确保GC不会收集所有的实例吗? 例如,如果我指定。使用()然后收集内核对象,并不是我所有的“单身”收集? 如果我确实需要保持对内核对象的引用,那么如何让传递给WithArguments()的参数改变或者是不可能的。

什么是Ninject,什么时候使用它?

我一直在帮助一些项目的朋友,还有一个使用Ninject的课程。 我对C#相当陌生,我不知道这个类正在做什么,这就是为什么我需要理解Ninject。 任何人都可以解释Ninject是什么以及什么时候使用它(如果可能,举例)? 或者,如果你可以指出一些很好的链接。 我试过这个问题: Ninject教程/文档? 但对于像我这样的初学者并没有什么帮助。

Ninject示例应用程序?

我想开始使用dependency injection和IOC,我想更多地使用Ninject。 使用Ninject编写的源代码是否有很好的应用,我可以把它作为参考?