问题标签 [property-injection]
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.
c# - 如何将属性注入到我不控制创建的类中
如何使用 autofac 将IServiceManager属性注入此类?这是一个自定义资源提供程序工厂类,当您调用HttpContext.GetGlobalResourceObject("", "MyResource")
以获取资源字符串时会调用它。
c# - 如何将对象自动加载到页面属性中
首先,我知道这是可以做到的,但由于我没有参与设置或实施它,所以我没有看到它是如何完成的。
在以前的工作中,当我帮助支持 Web 应用程序(MVC 或 Web-App)时,我们有你常用的 EF 设计模式。但是当需要使用 EF 对象时,我们所要做的就是在 Page/Controller 中声明一个属性,然后我们就可以访问 Repository/Service。
只要在声明var prop1 = IOC.Resolve<Type>;
后明确声明,我们就不必做任何事情,它将自动填充。我认为这是依赖注入,但没有看到任何关于如何使这成为可能的文章。
任何帮助都会非常有用。
编辑 2014-04-13
尝试像这样在 Global.asax 文件中进行属性注入
我试过做if....
逻辑,但都Application_BeginRequest
没有成功。
应用程序.cs
DomainInstaller.cs(几乎所有的安装程序类都是这样设置的):
所以我想我可能已经找到了我的问题,但我不确定如何实施解决方案,因为我的 Pages 和 MasterPages 都将包含需要从我的 EF 数据框架注入的属性。下面是一个 MVC 实现的示例,但是 Page 和 MasterPage 对象没有我可以像控制器一样使用的直接公共派生接口。
另一个项目,MVC 模式:
将此安装程序从 MVC 修改为 WebForms 有什么帮助吗?MasterPage 和 Page 都具有需要从 Windsor Container 注入的属性的意图。
structuremap - 具有外部依赖关系的 Attribute 类的结构映射属性注入对我不起作用
我是结构图的新手。当我将属性注入用于自定义验证类时,该属性始终为空。我想我错过了一些东西。在这方面的任何帮助将不胜感激。我不想使用 System.Web.Mvc.DependencyResolver.Current.GetService(); 在 AddressInfoValidator 中获取记录器的实例。我们使用 MVC 5、FluentValidation.Mvc(5.1.0.0) 和 Structure map(2.6.3.0) 来注入依赖项。我有一个简单的日志外观和一个 Myloger 类:
验证器的实现如下,我使用了属性注入,因为下面的类将用作属性:
地址模型是:
在 global.asax 中启动时从应用程序调用的结构映射注册表:
c# - 通过 Castle Windsor 中的属性注入实现循环依赖
我需要温莎的循环依赖。这是为了递归方法而设计的。模块 A 调用模块 BF 并且模块 B 需要回调到 A 因为节点树。
无论如何,我知道我不能因此使用构造函数注入。所以我设置了带有属性注入的模块 A 以获得 IEnumerable<IModule>。
我已经注册了所有类型,但是在解析模块 A 时,Windsor 将属性设置为 Null(我让它抛出异常)。我尝试使用 DependsOn,但这似乎仅适用于构造函数参数。
如何让 Windsor 通过属性注入将我的模块 BF 集合解析为模块 A,这样我就可以获得所需的依赖循环?
这是顶层模块(Module A)和IModule;
和递归子模块:
我的注册:
正如我所说,我尝试了似乎不适用于属性的 DependsOn,以及无效的 PropertyRequire,我仍然通过了 null。
请注意,我无权访问 Container.Resolve 代码,因为我正在为第 3 方工具注册这些组件。
谢谢!
编辑
我的期望:
Windsor 解析 CompositeModule 并使用默认 ctor 创建一个实例。命名它。
温莎去满足属性,这是一个可枚举的 IModules
它看到 6 个 IModule,不包括 CompositeModule,并尝试将它们实例化为一个集合
它看到 6 个模块之一 CheckChildrenModule 需要 CompositeModule 的命名实例。
它使用在步骤 1 中创建的 CompositeModule 的命名实例来满足对 CheckChildrenModule 的 ctor 依赖
现在它可以完成 IModules 的收集并将它们从步骤 2 传递到 CompositeModule 的 InnerModules 属性。
只是不知道如何让它发生。
asp.net-mvc - 属性注入导致 StackOverflowException
我是 AutoFac 的新手,我正在尝试使用我在 AutoFac 注册的实例自动注入我的属性。
导致异常的行:builder.RegisterType().PropertiesAutowired();
我想获得提供者的 ISocialAppUnitOfWork。
我不确定目前发生了什么,任何帮助将不胜感激。
c# - Autofac将上下文注入控制器和实体
我有一个基于 EF4.3 构建的 MVC 应用程序,并试图通过将 DbContext 注入实体而不是传递它来进行一些重构/清理。我已经在使用 Autofac 将上下文传递给我的控制器,效果很好。但是使用 AutowireProperties 在实体上设置 DbContext 属性不起作用(似乎从未设置该属性)。这是我的设置:
Database.Appointment 具有公共属性,例如:
简短的回答是我想继续在控制器上为每个 http 请求设置上下文,然后将相同的上下文设置为具有 DbContext 属性的 EF 实体。
property-injection - 温莎城堡:财产注入
我实现了一个派生自ExtendedMembershipProvider的CustomMembershipProvider。IUserService是 CustomMembershipProvider 的依赖项,它将用于验证给定的凭据。这将在 Web.Config 中进行配置;
无法通过构造函数注入IUserService实现,因为CustomMembershipProvider需要无参数构造函数。
于是想到了引入属性注入。我将 IUserService 作为 CustomMembershipProvider 的公共属性。
我只为此注册编写了一个单独的安装程序
这不起作用,并且在调用 ValidateUser 时UserService始终为 NULL。
我尝试了贡献者;
并在我引导容器的地方注册贡献者。
请让我知道如何注入 CustomMembershipProvider 的 IUserService属性
c# - 如何使用 Autofac 解决属性注入?
我有一个 MVC Web 应用程序,它使用 Autofac 在控制器中注入服务。
问题:我正在尝试对服务进行属性注入,但它失败了(属性始终为空)。
我 的期望:我希望 Autofac 正确初始化属性(不为空)。
例子:
- 我正在尝试将 AliasesService 作为 IAliasesService 注入控制器。
- AliasesService 依赖于 MailService。
- MailService 是 AliasesService 的属性。
- AliasesService 已正确实例化并传递给 MyController。
- MailService 未正确实例化并设置为 AliasesService 的属性
控制器:
全球.asax:
别名服务:
值得一提:
- 如果我尝试为控制器进行属性注入,它会按预期工作
- 构造函数注入有效,但我需要属性注入。
我尝试过的其他事情没有成功:
1
2
最小的例子:
替代解决方案:
对于 Autofac 工作的最小示例,但在控制器的上下文中,我仍然没有设法使其按预期工作,所以我放弃了使用它,因为我浪费了太多时间。我现在正在使用 Castle Windsor,它可以满足我的一切需求,感谢您的支持。
asp.net-web-api2 - 具有自定义授权属性问题的 Asp.Net Web Api 和 Autofac(属性注入)
我正在使用 Autofac 注入我所有的项目依赖项,效果很好。现在我添加了一个自定义授权属性(我不需要像 OWIN 和身份这样的非常复杂的功能)。自定义授权属性依赖于数据层,因此我尝试将其作为属性注入进行注入。但是,该属性始终为 Null。代码如下:
注入 AuthorizationHelper 的代码:
属性在 FilterConfig 中注册为 filters.Add(new CustomAuthorizationFilterAttribute());
所有的接线工作,但 AuthorisationHelper 始终为空。
任何意见将不胜感激。
dependency-injection - 概念:Angular 1.* 的 Setter 依赖注入
前言——这更像是一个概念性的讨论,而不是“如何做”。如果有一种简单的实现方法,那么我当然会感谢有关如何实现的提示,但我真的想深入了解为什么/为什么不这样做是不可能的或一个好主意。欢迎任何和所有评论/建设性批评。
基于属性/设置器的依赖注入
新的 $injector API
简单的控制器示例
角土地的其他地方
为什么?
我喜欢 javaScript 的简单性。它是一种可塑性很强但功能强大的语言。但是,我不认为我是唯一一个来自另一种编程语言的开发人员,他们渴望 JavaScript 缺少某些功能。因此,我利用继承(我知道 OMG !!!)在我的应用程序开发中构建许多基类。具体来说,我所有的角度控制器都继承自关键基类(例如 baseViewController、basePopupController 等)。
如果我打算扩展到基础控制器类之外, Angular 对基于构造函数的DI 的强制使继承有点痛苦。构造函数参数必须传递给任何子类。我希望有一种方法可以允许不同类型的依赖注入。