问题标签 [auto-registration]
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.
inversion-of-control - 如何获得温莎城堡的自动注册
我最近阅读了Ayende 关于使用 XML 配置进行自动注册的博客文章。我想做他所做的,但他的代码片段对我不起作用。我的容器对象上不存在 Register 方法。
这是他的代码:
是否有我缺少的 DLL 参考?Register() 是扩展方法并且我没有引用正确的命名空间吗?我查看了 Castle Docs,但似乎找不到解决方案。
castle-windsor - 来自两个不同组件的温莎城堡自动注册?
目前,如果接口也在同一个程序集中,上面的代码可以正常工作,但如果 IUserRepository 来自不同的程序集,它就会崩溃。
是否可以从两个不同的程序集进行自动注册?我在这里错过了什么吗?
c# - 温莎城堡:找到一个实施程序集并使用它
我如何告诉 Castle 从执行目录中的程序集中获取接口实现。
例如
我如何告诉城堡找到 ILog 的实现,然后如果我将 log4net 放在执行目录中的程序集中,它应该选择并使用它。明天如果我决定将 log4net 更改为 Nlog,它应该选择 Nlog 来记录(显然两者都应该实现 ILog)
castle-windsor - 您可以将依赖项添加到自动注册的 Castle 组件吗?
我通常使用 StructureMap,但在当前项目中,我使用的是 Castle Windsor (2.1)。我找到了一些自动注册类型和接口的代码:
_container.Register(AllTypes.Pick().FromAssembly(GetType().Assembly).WithService.FirstInterface());
但是,我想向其中一种类型添加字符串依赖项。我可以在没有这样的约定的情况下做到这一点:
var registration = Component.For() .ImplementedBy().DependsOn(new[] { Property.ForKey("someString").Eq("blahblah") });
_container.Register(registration);
有什么办法可以用自动注册的类型来做到这一点?
repository-pattern - 装饰器模式的 StructureMap 注册约定
我正在使用装饰器模式为我的存储库实现缓存,如下所示:
Cached 存储库检查所请求对象的缓存,如果它不存在,则调用 FooRepository 来检索和存储它。我目前正在使用以下方法向 StructureMap 注册这些类型:
这很好用,但是随着缓存存储库数量的增加,单独注册每个存储库变得笨拙并且容易出错。看到我有一个共同的约定,我正在尝试使用自定义 IRegistrationConvention 扫描我的程序集,但我似乎无法弄清楚如何将 FooRepository 传递给函数中 CachedFooRepository 的构造void Process(Type type, Registry registry)
函数。
我找到了一些例子来做类似的事情:
或者
但是这两种方法都不允许我链接.Ctor
. 我错过了什么?有任何想法吗?
c# - Unity.AutoRegistration 不自动注册
我正在尝试使用Unity.AutoRegistration将我的接口自动连接到实现。我的配置如下所示:
但它不起作用:(我收到此错误,这显然意味着尚未设置映射:
当前类型 Blah.IFoo 是一个接口,无法构造。您是否缺少类型映射?
我的配置代码有什么问题?谢谢
c# - 尝试使用标记接口失败并出现 IEnumerable<>
我正在尝试使用统一在我自己的应用程序中模仿 Orchard CMS 中的一些东西。
好吧,所以我想做的是这个......
假设我有一个名为 IDependency 的标记接口。
然后我有几个接口挂在这个...
然后也上一些课...
到目前为止我所拥有的..
我在向我的 NicksSecondController 中注入 IEnumerable 时跌倒了……有什么想法吗?
干杯,尼克
.net - Unity.AutoRegistration - 仅注册具有相同名称的接口和类型
当类型名称与接口名称匹配时, Unity.AutoRegistration可以正常工作,例如,TClass
和ITClass
. 我希望接口名称不带前缀“T”,喜欢IClass
并需要它IClass
来匹配TClass
。
但是当我重命名接口时,自动注册失败。我必须匹配类型/接口名称,还是有办法满足我的需求?
asp.net-mvc - 自动发现自动映射器配置
当你在 MVC 中创建一个控制器时,你不需要为它做任何额外的注册。添加区域也是如此。只要你的 global.asax 有一个 AreaRegistration.RegisterAllAreas() 调用,就不需要额外的设置。
使用 AutoMapper,我们必须使用某种CreateMap<TSource, TDestination>
调用来注册映射。可以使用 static 显式执行这些操作Mapper.CreateMap
,或者通过从类派生AutoMapper.Profile
、覆盖方法并从那里Configure
调用。CreateMap
在我看来,应该能够扫描程序集以查找扩展自的类,Profile
例如 MVC 扫描扩展自Controller
. 有了这种机制,难道不能简单地通过创建一个派生自的类来创建映射Profile
吗?是否存在任何这样的库工具,或者自动映射器中是否内置了一些东西?
dependency-injection - 在 Unity 中注册
我习惯于使用 Autofac 和 autofac 一行代码,我可以在程序集中注册所有接口,以便它们解析为实现该接口的任何类。
在 Unity 中,我似乎需要手动注册每个接口。我想知道是否有一种更简单的方法来全局注册所有内容,然后针对生命周期差异创建单独的条目。
谢谢