问题标签 [ninject.web]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
asp.net-mvc - 将 ninject 与 Ninject.Web.Api 一起用于 Web Api 2 在 ASP.NET MVC 5 中不起作用
我正在开发一个 Asp.NET MVC 项目。我的项目也有 web api。我在 Visual Studio 3 中使用 ASP.NET MVC5 和 Web Api 2。我正在使用 ninject 进行依赖注入。我知道 ninject for web 不适用于 Web Api 2。所以我尝试使用 Ninject for Web Api。
我使用 nuget 包管理器为 web api 2 包安装了 ninject
然后我使用 nuget 包管理器安装了 Ninject.Web
然后在 NinjectWebCommon 中,我在 RegisterServices 中添加了这一行
这是我注册一个依赖项的完整 NinjectWebCommon 类
这是我的控制器
然后当我运行我的代码时,它给了我这个错误
更新
但是当我访问 apiController 时,它正在工作。
这是我的网络 api 控制器
所以我发现它适用于 web api,但不适用于 web 项目。我在同一个项目中使用两者。
c# - 使用 Ninject 将依赖项注入 Global.asax 的 Application_Start 方法
我目前正在尝试使用 Ninject 和 Ninject.Web 将依赖项注入到 ASP.NET WebForms 应用程序中的全局类 (Global.asax) 中。一旦我尝试调用注入类中的任何函数(例如在 Application_Start 中),我就会得到 NullReferenceException。
全球.asax:
NinjectWebCommon.cs
IJobScheduler
作业调度器
我已经在尝试使用属性注入,因为全局类无法使用构造函数注入。DI 在其他任何地方都可以工作,只是不在我的 Global.asax中,我需要在启动期间注册一些东西。
我找到了一些相关问题的答案,例如:如何解决 ASP.NET 中全局文件中的 Ninject 依赖项?但不幸的是,这对我不起作用。
我正在使用以下 Ninject NuGet 包:
有任何想法吗?
c# - 使用 Ninject 动态绑定 UserStore
我有以下用户商店:
在我的启动中,我需要将它与另一个库中的自定义用户绑定。我试图避免在我的项目中完全引用该库。我引用了接口,这就是我在整个项目中用来访问属性等的接口。我想不通的是如何动态绑定以下语句:
MyCustomUser
延伸IdentityUser
vb.net - ASP.NET Web Forms + Ninject + Helper Class with iService - 如何让 Ninject 处理 iService?
我有一个用 .NET 4.5.2 上运行的 VB.NET 编写的 ASP.NET Web 窗体项目
我已经成功地将 Ninject 插入到我的应用程序中,但是我遇到了障碍。
我在我的网页中使用 Ninject 属性注入(示例如下)
对这项工作的所有调用......所以这很好
但是,在我的应用程序中,我们有一个类用于将调用包装到我们的服务中(见下文)
这个类被网页使用...
这不起作用 - 在 MyWrapper 类中,Ninject 没有注入 IService。
我猜是因为我的课程不是网页,它不在管道中,所以 Ninject 没有对它做任何事情。
我已经阅读了一些其他建议修改 MyWrapper 以从 Ninject.Web.PageBase 继承的帖子,但是尝试过它似乎不起作用。
有没有人有任何建议?
MyWrapper 在我们的应用程序中有 100 多个引用,因此理想情况下我不想更改每一行代码。
此外,MyWrapper 类有一些共享/静态方法——这会导致问题(如有必要,我可以更改它)。
仅供参考 - 上面的代码应该被视为伪代码 - 我是临时输入的而不是复制粘贴 - 所以它可能包含语法错误。
ninject - Ninject Alter Binding base on Owin.Context.User.Identy
I need to change ninject binding base on User.Identity.
I have this scenario: base on user Actor claim which I use for my own purpose. I have to inject on my class constructor the value of Claims.Actor, how can I do that?
#xA;thanks
c# - Ninject insingletonscope 为每个请求创建多个实例
我正在学习 Ninject 并进行试验(周四是一个 web api 项目)。
我写了一个控制器,它将调用存储库并更新数据源中的元素
我有一个充当数据源的类(为了简单起见)
在我的 Ninjectwebcommon 文件中,我以下列方式创建依赖项
现在,对于我向控制器发出的每个请求,它都会创建一个新的 UserDb 实例,而不是使用已经创建的实例。
我以为 InSingletonScope 创建一次并分发它,所以对象的状态仍然存在?我错过了什么?
c# - 在内核中绑定时的 ToConstant
我们有一个类似下面的代码。
我在下面的链接中看到了stackoverflow:
Kernel.Bind<**Interface1**>().To(typeof(xyz)).InSingletonScope()
如果我们不想在此时创建对象,而是在进行调用时,我们可以使用它吗?
c# - 在两个服务的构造函数之间检测到 c# 循环依赖中绑定中的注入错误
我有一个类,你可以看到它的构造函数:
在全球部分,我定义了这个:
但是当我运行我的页面时,我得到了这个错误:
c# - 将 Ninject 与静态方法一起使用
我的目标是在我的应用程序中使用Ninject和静态方法。我知道静态方法不应该有任何依赖关系,因为从测试的角度来看它很难。但是,在我的应用程序中,我无法将每个方法从静态变为非静态。我需要以最少的更改来实现 DI,即我应该一次性更改代码,并且应该在调用该方法或类的任何地方更改实现。我也不想使用服务定位器模式,因为它甚至不是纯 DI 模式。
为了牢记以上所有要点,我实施了以下设置,并且运行良好。无论我是否正确使用 Ninject 和静态方法,我都需要你的想法。
我的 ASP.NET WebForms 设置:
解决方案:NinjectPlayGround
项目:
NinjectPlayGround(Web 项目)
NinjectPlayGround.BL(业务层)
NinjectPlayGround.Common(POCO 层)
为了使用 Ninject,我安装了Ninject.Web
NinjectWebCommon.cs 代码:
我在那里添加了以下两条自定义行:
CommonHelper 是具有静态方法的类,我想在其中使用 Logger 实例。
CommonHelper 类代码:
ILogger 类代码:
DefaultLogger 类代码:
由于 Ninject 属性不允许在这样的静态属性上使用:
我通过NinjectWebCommon类中存在的RegisterServices方法设置该属性,该方法在 每个应用程序启动时仅调用一次(如果我在这里错了,请纠正我)
在 UI 中,这个辅助方法是这样调用的:
上述设置工作正常,即如果我将 DefaultLogger 更改为 PersistentLogger(这是 ILogger 的另一种实现)
至
我可以看到 PersistentLogger 被调用而不是 DefaultLogger 而没有在CommonHelper类中进行任何混乱/更改。
这是将 Ninject 与静态方法一起使用的正确方法吗?
这就是我需要在NinjectWebCommon类的RegisterServices方法中设置我需要通过 DI 设置的所有静态属性的方式吗?
我会在这种实施中遇到任何困难吗?
编辑:我已经经历过Ninject 和静态类 - 如何?这是理论上的。我已经询问了在 Ninject 中使用 staic 方法的完整实际实现。此外,这个问题是针对静态类的,在我的案例中,它不是静态类,而是静态方法。
c# - Ninject xml 从另一个类库注入
我正在尝试从另一个类库注入,但它不起作用,我收到此错误:无法解析在“to”属性中定义的类型“BLL.UserBLL,MyProject.Core”。
XML:
所以我试图在外部类库“MyProject.Core”的命名空间“BLL”中使用类 UserBLL。
MyProject.Core 在 MyWebProject 中被引用
我究竟做错了什么?