问题标签 [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.
autofac - 必须在 autofac 容器解析之前注册每个类?
假设这种情况:
要从 Autofac 容器中解析 C,我必须将 B 和 C 都注册到容器中。但是,今天我使用了Unity,看来我只需要将 B 注册到容器中,然后 C 就可以解决了。
所以 Autofac 不能像 Unity 那样做?
asp.net-mvc-2 - Autofac 2.2 和 ASP.NET MVC 2.0 区域支持
Nicholas 在他的博客中宣布了对 ASP.NET MVC 2.0 Areas 的支持。但是,我无法让它工作,而且从我在 Autofac 源代码中看到的内容来看,无处支持区域。进一步来说,RegisterControllers
没有提到任何地方的区域,也没有AutofacControllerFactory
。
我在这里遗漏了一些明显的东西吗?
c# - Autofac基于TypedParameter的不同服务解析
无论如何要让 autofac 来解析具有具体实现的服务,构造函数最具体地匹配给定参数。
我的意思是匹配子类型的构造函数,而不是匹配基类型的构造函数。
例如,我想让以下测试通过
我的目标是制作 IService、IEditor 并能够通过将 IEditor 传递给 autofac 来解析类型。我想这样做,以便我可以通过简单地继承 IEditor 并使用 IEditor 所适用的适当构造函数类型来“覆盖”一个类型的编辑器。
谢谢你。
autofac - 在方法上设置行为似乎是在调用该方法
我在 TypeMock 论坛上发布了这个,但我迫不及待地等待那里的回复。这是一个非常n00b的问题。
我正在尝试设置一个假的 IContainer。这是我所拥有的:
(IProgram
是我代码中的一个接口)。
当我尝试运行此代码时,我收到 Autofac 异常:“请求的服务 MyApp.IProgram 尚未注册。”
怎么会抛出这个异常呢?我实际上并没有调用 container.Resolve(),对吗?我只是将它设置为返回一个假的 IProgram。
不相关的背景信息:我正在试用 TypeMock,因为 Autofac 广泛使用扩展方法,而 Moq 不会模拟它们。
asp.net-mvc - ASP.Net MVC 中的 Autofac
作为 Autofac 的新手,我试图弄清楚如何为我的控制器注册我的存储库。Repository 在其构造函数中使用一个 Web 服务来与服务器通信。此应用程序是多租户的,租户名称在 MVC 路由数据中访问。由于我无法像大多数示例一样访问 global.asax 中的路由数据,我在哪里注入此依赖项以及代码会是什么样子?
c# - 如何快速学习 Autofac 进行 Windows 开发?
我即将在一家新公司开始一个项目,其中使用的 IoC 是 AutoFac。我以前没有 DI/IoC 方面的经验,并且想加快速度,所以我看起来不太聪明。这将用于 WPF 应用程序(我对此也不太了解,但没关系)
一般来说,我可以使用哪些好的资源来学习 Autofac 和 IoC?我下周星期一开始我们的初始阶段:(这个周末我推迟了所有的学习!
我应该提一下,虽然 IoC 的想法很棒,但是当我们在其他领域使用它时,我看不出我们是如何随身携带“容器”的。我们是创建一个单例(那个接缝说不好)还是创建一个带有 GetService 访问器的静态类?
编辑:我正在阅读关于 Autofac 的 codeproject 文章,并且有点了解 IoC 也试图通过 NInject 教程解决什么问题,但没有什么可靠的。
model-view-controller - 我应该如何在带有 nunit 的容器中测试 MVC Web 应用程序?
我们有一个在 Autofac 中运行的 MVC 网络。所有配置都存储在 web.config 的 autofac 配置部分中,运行时 Global asax 设置容器并通过向它们提供配置设置来整理所有模块 - 我目前感兴趣的是NHibernate 模块 - 所以这会将连接字符串设置到其构造函数中。
我想构建一些测试来测试 NHibernate 的数据访问 - 我们有存储库和服务层,但这不一定相关。
我是否应该在包含所有测试的解决方案中添加一个额外的项目,如果我这样做,我需要在这个测试项目的 autofac 配置中复制数据库连接字符串,并在这个项目中构建一个测试容器来测试我的数据使用权?或者我是否应该尝试获取 Web 应用程序的容器来进行测试 - 我假设不是因为 Global.asax 的 Application_start 不会运行,除非被 http GET 命中。我真的不想复制 Web 应用程序的所有配置和容器创建,但目前我想我必须......?
c# - 在 Autofac 中实现通用服务工厂或提供者
我有一个界面,例如ISomeService
. ISomeService
提供通用服务,但实现可能会有所不同。因此,它们将具有不同的依赖关系。
考虑:
现在,现实情况是我不能只是将 ISomeService 的依赖项添加到我的控制器并完成它。我需要根据用户告诉我的内容选择 IService 的实现,并且我可能必须创建他们选择的服务的多个副本。
也许我有一个类,可以让我按类型解析我需要的 ISomeService 的实例:
所以,我可以
似乎 Autofac 的委托工厂在这里不合适,我不知道该怎么做(除了使用服务定位器)。有什么建议吗?
.net - 解决通用服务
我得到了以下服务:
..为此我创建了一个定义为:
如何在 autofac 中注册它以便我可以将其解析为: