问题标签 [autofac]
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 - Autofac 中 HttpRequestScoped 的解决问题
我正在尝试解决我的应用程序中的 AccountController,但似乎我有一个终身范围问题。
我需要将 MyDataContext 和 UnitOfWork 限定在 HttpRequestLevel 范围内。当我尝试解析 AccountController 时,出现以下错误:
从请求实例的范围中看不到与表达式 'value(Autofac.Builder.RegistrationBuilder`3+<>c__DisplayClass0[...]).lifetimeScopeTag.Equals(scope.Tag)' 匹配的范围。
我的依赖生命周期设置不正确吗?
c# - 重新注入新反序列化对象的依赖项
如果一个程序实际上只是反序列化了一个对象(实际上并不重要,只是说使用了 BinaryFormatter)。
用于重新注入此对象的依赖项的好的设计是什么?
这有一个共同的模式吗?
我想我需要将 Deserialize() 方法包装起来以充当容器内的工厂。
谢谢!
asp.net-mvc-2 - 两个不同区域同名的不同控制器导致路由冲突
我有两个领域:
ControlPanel
和Patients
。
两者都有一个名为 ProblemsController 的控制器,仅在名称上相似。期望的结果将是产生 /controlpanel/problems => MyApp.Areas.ControlPanel.Controllers.ProblemsController 和 /patients/problems => MyApp.Areas.Patients.Controllers.ProblemsController 的路由。
每个都有这样配置的路由:
其中 ***** 此处的区域名称 ***** 是 ControlPanel 或患者。
当我去 /patients/problems/create (例如),我得到一个 404 路由错误说:A public action method 'create' was not found on controller 'MyApp.Areas.ControlPanel.Controllers.ProblemsController'
。
我不确定我做错了什么。
asp.net-mvc - 使用 HttpRequestScoped 的 Autofac 2 和 MVC2 问题
我遇到了 Autofac2 和 MVC2 的问题。问题是我正在尝试解决根依赖项是 HttpRequestScoped 的一系列依赖项。当我尝试解析我的 UnitOfWork(可处置)时,Autofac 失败,因为内部处置器试图将 UnitOfWork 对象添加到为空的内部处置列表中。也许我正在使用错误的生命周期注册我的依赖项,但我尝试了许多不同的组合但没有运气。我唯一的要求是 MyDataContext 持续整个 HttpRequest。
我已在此处发布了代码的演示版本以供下载。
Autofac 模块在 web.config 中设置
全球.asax.cs
AutofacDependencyResolver.cs
IoCHelper.cs
UnitOfWork.cs
MyDataContext.cs
我的服务.cs
家庭控制器.cs
.net - 解析实例 - Autofac
我试图弄清楚如何在代码中的某个地方解析一个实例。
在应用程序启动时,我注册了一个类型
现在,我怎样才能在代码中的某个地方解析一个实例?
在 StructureMAP 中有一个静态对象ObjectFactory.GetInstance<IFoo>()
ioc-container - 使用 AutoFac 2 避免服务定位器
我正在构建一个使用 AutoFac 2 进行 DI 的应用程序。我一直在阅读应该避免使用静态 IoCHelper(服务定位器)。
IoCHelper.cs
从对上一个问题的回答中,我找到了一种通过使用自动生成的工厂来帮助减少在我的 UnitOfWork 中使用 IoCHelper 的方法。继续走这条路,我很好奇我是否可以完全消除我的 IoCHelper。
这是场景:
我有一个静态 Settings 类,用作我的配置实现的包装器。由于 Settings 类依赖于我的大多数其他类,因此包装器使我不必在整个应用程序中注入设置类。
设置.cs
有没有办法在不使用服务定位器的情况下处理这个问题,也不必求助于将 AppSettings 注入每个类?下面列出了我一直依赖 ServiceLocator 而不是构造函数注入的 3 个领域:
- 应用设置
- 日志记录
- 缓存
c# - 使用 Autofac 2 和命名注册的构造函数注入
我目前正在尝试在我们的代码中删除一些 .Resolve(s)。在遇到命名注册之前,我一直进展顺利,但我无法使用该名称获得 Autofac 解析。我缺少将命名注册注入构造函数的内容。
登记
当前班级
想拥有
c# - 使用 TypeMock 模拟 Autofac 的“Resolve”扩展方法
我正在尝试模拟 Autofac 解析,例如
来自 Moq,TypeMock 的语法和异常让我很困惑。最初在 TestMethod 中运行它后,我不断收到类似于“WhenCalled 不能在没有补充行为的情况下运行”的异常。我尝试为每个人和他们的母亲定义行为,但无济于事。
然后我调试了测试运行,看到 Autofac 触发了一个实际的异常:IRubber 尚未注册。
所以很明显,静态 Resolve 函数没有被伪造,而且我无法让它被伪造,无论我如何连接它。
...从 Autofac 引发异常,抱怨 IComponentContext 不能为空。给它提供可能是伪造的 IContainer (或伪造 IComponentContext )让我回到“IRubber 未注册”错误。
java - Java/Scala 的简单控制反转框架
我正在为用 Java/Scala 编写的 GUI 应用程序寻找一个简单易用的 IoC 容器。
它应该支持约定优于配置、生命周期管理、代码中的配置(最好根本不需要任何 XML)以及尽可能在编译时检查依赖关系。类似于Autofac的东西将是完美的。