首页 文章
  • 8 votes
     answers
     views

    如何将Ninject集成到ASP.NET Core 2.0 Web应用程序中?

    我发现Ninject最近有introduced support for .NET Standard 2.0 / .NET Core 2.0 . 但是,我找不到实际将其集成到Web应用程序中的任何扩展(例如类似于Ninject.Web.Common) 查看旧的ASP.NET MVC解决方案中的代码,我意识到整个机制是不同的,因为经典的机制依赖于ASP.NET核心中不再可用的 WebActivator...
  • 14 votes
     answers
     views

    三层asp.net mvc应用程序中的依赖注入

    我有一个3层应用程序,图层是: Web:表示层(ASP.NET MVC) - >只看到BLL BLL:业务逻辑层 - >只能看到DAL DAL:数据访问层 所以 Web 层对我的 DAL 层一无所知 . 我在 DAL 中有存储库接口和具体类,它们在业务逻辑类的 BLL 层中使用 . 问题是,为了解耦 DAL 和 BLL ,如何设置Ninject以将我的存储库实现注入 B...
  • 39 votes
     answers
     views

    使用Ninject OWIN中间件在OWIN启动中注入UserStore的依赖关系

    在使用OWIN请求管道创建ApplicationUserManager时,使用依赖项注入创建自定义UserStore时遇到问题 . Background 我正在尝试将我们的Web应用程序中的用户功能从使用SimpleMembership迁移到新的ASP.NET标识 . 在启动新的MVC 5项目时,单页面应用程序的默认实现使用ASP.Identity,使用Entity Framework实现User...
  • 58 votes
     answers
     views

    Ninject模块的目的是什么?

    我是ninject的完全新手 我一直在拉开其他人的代码,发现了几个nInject模块实例 - 从Ninject.Modules.Module派生的类,并且有一个包含大部分代码的加载方法 . 通过调用StandardKernel实例的LoadModule方法并将其传递给模块类的实例来调用这些类 . 也许我在这里遗漏了一些明显的东西,但是这对于创建一个普通的旧类并调用它的方法,或者使用静态方法的静态类...
  • 5 votes
     answers
     views

    Ninject 3,WCF服务和参数化构造函数

    我在IIS中托管了WCF服务 . 该解决方案由2个项目组成:服务和数据 . 服务取决于数据,如下所示: Service -> Data 我一直试图反转依赖,就像这样: Service <- Data 使用WCF时非常头疼,因为WCF服务构造函数必须是无参数的(默认情况下) . 我听说's possible to inject the dependency using Ninject...
  • 0 votes
     answers
     views

    Windows服务作为WCF服务的主机 - 依赖注入策略

    我正在编写一个托管一堆WCF服务的Windows服务 . 我正在使用NINJECT与AOP一起使用拦截器工作正常 . 我只是想知道我的实现是否会在更高的负载下保持 . 这是事情: 在我的program.Main()方法中: ServiceBase[] servicesToRun = { kernel.Get<WcfServiceHostService>() }; ServiceBase...
  • 2 votes
     answers
     views

    Ninject OWIN扩展破坏了Web API的CreatePerOwinContext

    为了尝试将Ninject与使用ASP.NET身份的新Web API 2项目一起使用,我遇到了一些奇怪的行为 . 我无法获取传递给CreatePerOwinContext()的回调以触发对Web API控制器的请求 . 对于MVC控制器,它们工作正常 . 重新创建的步骤: 文件 - >新的VS 2013 ASP.NET Web应用程序 检查MVC和WebAPI 在身份验证下选择个人...
  • 0 votes
     answers
     views

    尝试在WCF服务中启动NServiceBus实例时为空传输

    我正在使用NServiceBus 3.3.3 . 我正在使用Ninject作为我的容器,我通过绑定到以下方法初始化模块中的总线: Bind<IBus>().ToMethod(context => { return CreateBus(); }).InSingletonScope(); private IBus CreateBus() { var bus = ...
  • 2 votes
     answers
     views

    Ninject给出NullReferenceException

    我正在使用asp.net MVC 2和Ninject 2 . 设置非常简单 . 控制器调用调用存储库的服务 . 在我的控制器中,我使用inject实例化服务类没有问题 . 但服务类没有实例化存储库,给我NullReferenceException . public class BaseController : Controller { [Inject] public IRoundS...
  • 6 votes
     answers
     views

    Fluent IOC配置/模块的最佳位置(目前正在尝试Ninject)

    我正在努力找到找到我的Ninject配置“模块”(指定类型绑定的地方)的最佳位置 . 我希望我只是错过了一些明显的技巧,因为使用流畅的配置(因此Ninject)开始变成一个交易破坏者: 在一个包含三个独立项目的简单Web堆栈中:Web,BusinessLogic,DataAccess . 我不希望Web层必须直接引用DataAccess层,但我无法看到解决方法,因为: 如果我把 DataAcc...
  • 5 votes
     answers
     views

    ASP.NET网站中使用Ninject 3进行依赖注入

    我尝试了How can I implement Ninject or DI on asp.net Web Forms?中找到的以下解决方案(Jason的回答) 创建一个新的ASP.NET WebForms项目 使用NuGet添加Ninject.Web库(这也将关闭Ninject.Web.Common和Ninject库) 在App_Start / NinjectWebCommon.cs ...
  • 1 votes
     answers
     views

    南希Ninject模块构建

    我正在尝试使用Ninject作为IoC容器来测试我的Nancy模块 . 我的问题是我似乎无法让Nancy使用我的IoC绑定来解析NancyModule类型 . 我正在使用最新的Nancy on Nuget,最新的Nancy.Bootstrap.Ninject源自最新的Ninject . 我的测试设置如下: [TestFixtureSetUp] public virtual void Cla...
  • 14 votes
     answers
     views

    何处在多层应用程序中定位Ninject模块

    我的应用程序包括许多后端程序集(包括实体框架数据存储库层),这些程序集由许多前端程序集(包括Windows服务和MVC3 Web应用程序)共享 . 我对Ninject绑定过程的理解是,每个包含可注入类型的程序集还应包含一个Ninject模块,该模块定义这些类型的默认绑定 . 然后将定义的模块集加载到消耗组件的Ninject内核中 . 但是,我遇到了问题,因为所需的绑定范围并不总是一致的 . 例如,...
  • 2 votes
     answers
     views

    Ninject InSingletonScope for asp.net mvc 4

    我正在尝试将InSingletonScope用于我的一个服务接口 . 但是,它仍在为每个Web请求创建一个新对象实例 . 基本上它在我的asp.net mvc 4应用程序中的行为类似于InRequestScope . 我以为InSingletonScope是用于IIS进程的生命周期? 我在我的一个NinjectModule中为接口注册了以下实现 . 如果我马上解决它,repo1和repo2实际上是...
  • 4 votes
     answers
     views

    无法让Ninject在Request Scope中处理对象

    无论我做什么,我似乎无法让Ninject在带有Web API的ASP.NET MVC应用程序中处理请求范围内的对象 . 我在做什么: 使用Visual Studio 2013创建新的ASP.NET Web应用程序 . 我选择MVC模板并向其添加Web API(默认情况下,它还包含ASP.NET标识) 我通过nuget安装Ninject.MVC5包(install-package Ninje...
  • 1 votes
     answers
     views

    Ninject请求范围和回调

    我在使用Owin的MVC项目中遇到了Ninject的问题 . 我有一个UnitOfWork的泛型类,它不是我的项目特有的: public class UnitOfWork : IUnitOfWork { public UnitOfWork(DbContext context) {...} } 我使用自定义DbContext定义了两个存储库: public UserReposito...
  • 62 votes
     answers
     views

    使用Ninject在构造函数中使用其他参数创建实例

    我决定开始使用Ninject并面临一个问题 . 说我有以下场景 . 我有一个 IService 接口和2个实现此接口的类 . 而且我还有一个类,它有一个构造函数获取IService和 int . 如何使用Ninject创建此类的实例(我不想硬连接这个int,我想在每次获取实例时都传递它)? 这是一些说明情况的代码: interface IService { void Func(); } ...
  • 2 votes
     answers
     views

    使用Ninject将接口绑定到编译时未知的多个实现

    我刚刚开始在我的ASP.NET MVC 3应用程序中使用Ninject(v2.2.0.0) . 到目前为止,我很高兴它,但我遇到了一个我似乎无法弄清楚的情况 . 我想做的是将接口绑定到具体的实现,让Ninject能够使用工厂将具体实现注入到构造函数中(也将在Ninject中注册) . 问题是我希望我的构造函数引用具体类型,而不是接口 . 这是一个例子: public class SomeInter...
  • 10 votes
     answers
     views

    Ninject Factory Extension将多种混凝土类型绑定到一个界面

    简介: 我正在使用Ninject Factory Extension将简单的对象工厂注入我的服务类 . 这是我的界面和两个实现它的类: public interface ICar { void Drive(); void Stop(); } public class Mercedes : ICar { public void Drive() { Do ...
  • 1 votes
     answers
     views

    ninject工厂构造函数选择与运行时泛型

    如何使用ninject工厂,该工厂使用构造函数参数创建实例,而不依赖于参数名称 . 问题是 ToConstructor() -Method不起作用,因为我将它绑定到泛型定义 . 以下示例有效,如果我使用带有相应构造函数参数名称的factory方法,但我不喜欢它依赖于名称 . 因为以下解决方案非常脆弱,如果有人选择了错误的名称或重命名派生类中的ctor-argument,则会中断 . 有解决方案吗...
  • 0 votes
     answers
     views

    Ninject仅在注入IFactory.Create()方法时绑定

    我有一个 Foo 类派生自 IFoo ,然后是 IFooFactory ,我通过Ninject Factory Extensions方法设置: Bind<IFooFactory>().ToFactory() 然后我想确保任何调用者类通过 IFooFactory.Create() 获得 IFoo 实例,而不是仅仅在构造函数中请求 IFoo . 我试图像这样创建一个绑定: Bind&l...
  • 1 votes
     answers
     views

    如何根据工厂参数 - >命名空间路径获取ninject绑定?

    我正在使用Ninject 3.0.1.10和来自NuGet的ninject.extensions.factory 3.0.1.0 - 在“真实”场景中我将使用ninject.extensions.conventions(而不是手动绑定IFoo),但我想保持这一点,试图简化问题 . 我有一个IFoo接口和它的多个实现,每个都在子命名空间和子文件夹下,名为Gen1和Gen2 . 我有一个IFooFa...
  • 0 votes
     answers
     views

    Ninject将泛型类型绑定到工厂方法

    我有这个界面: public interface IDataManageService<T> where T : class { //some methods } 而这个具体的类: public class DataService<Tdto, Tdata> : IDataManageService<Tdto> where Tdto : ...
  • 4 votes
     answers
     views

    在MVC 5项目上使用ASP.NET标识,但httpcontext User.ProviderName是“AspNetSqlRoleProvider”

    我有一个使用ASP.NET身份(Invidual用户帐户)的MVC 5项目 . 作为数据库ORM,我正在使用实体框架6,而IoC由Ninject负责 . 解决方案结构如下 MVC项目 - 拥有我的控制器,视图和ninject设置 . 对于Ninject,我从nuget获得了Ninject.MVC3 . 数据项目---有我的DataContext(IdentityDbContext)和我的A...
  • 1 votes
     answers
     views

    Ninject工厂是否符合开放/封闭原则?

    我正在寻找创建符合开放/封闭标准的工厂的解决方案 . 我们可以通过反射实现它非常简单(实例化实现特定接口的所有类,存在于当前程序集中,使用基于静态属性的键将它们存储在某些字典中,并根据传递给CreateInstance方法的参数返回特定实例) . 我想知道使用Ninject是否可行 . 我买了一本书“掌握依赖注入的Ninject”,其中有一章“满足现实世界的要求”与Telcom Switch的例子...
  • 1 votes
     answers
     views

    带有Ninject的SignalR已停止注入集线器依赖项

    在SO上使用对其他问题的回答,我设法使用Ninject使用SignalR进行依赖注入 . 但是在我的代码中,我忽略了一段时间,几周之后我又回头看了它 - 它似乎停止了工作,我似乎无法弄清楚为什么 . 我正在适当地创建我的Ninject内核: private static IKernel CreateKernel() { var kernel = new StandardKe...
  • 4 votes
     answers
     views

    Serilog仅在构建后第一次调用时记录

    我有一个使用Ninject for IoC的ASP NET MVC项目 . 添加了Serilog Logger public class LoggingModule : BaseModule { public override void Load() { var fileName = "c:\path\file.log"; var l...
  • 9 votes
     answers
     views

    Ninject与Unity3D

    Unity3D使用GameObjects . 您可以向这些游戏对象添加组件,其中组件是继承基类的脚本(在c#或js中) . Unity本身是用本机代码编写的 . 组件不能有构造函数,而是使用反射来查找是否有某些命名方法(OnStart,Update等) . 我认为我可以做以下事情,而不是让我的眼睛因为缺乏构造函数和其他非常讨厌的东西而流血 . public class SomeGameBehav...
  • 2 votes
     answers
     views

    NInject扩展工厂

    在阅读 NInject v3 上的新文档以及如何使用Factory Extension之后,显然我仍然没有完全得到它,因为我的代码抛出异常到处... 我得到这个例外,如果人们愿意,我可以粘贴整件事,但我会尽量保持简短 . 激活IDeployEntityContainer时出错没有匹配的绑定可用,并且该类型不可自我绑定 . 这是我的代码...... Ninject Bind Module类 cl...
  • 4 votes
     answers
     views

    获取ninject工厂扩展以允许将工厂参数传递给依赖项

    使用Ninject Factory扩展,您可以自动生成工厂,并让工厂将参数传递给类的构造函数 . 以下测试通过: public interface IBar { int Foo { get; } } public class Bar : IBar { int _foo; public Bar(int foo) { _foo = foo; } public int ...

热门问题