草庐IT

c# - Autofac 注册程序集类型

在CaSTLe中,我曾经执行以下操作来注册来自不同程序集的类型:Classes.FromAssemblyNamed("MyServer.DAL").Where(type=>type.Name.EndsWith("Repository")).WithServiceAllInterfaces().LifestylePerWebRequest(),在Autofac中,我将上面的代码更改为:builder.RegisterAssemblyTypes(AppDomain.CurrentDomain.GetAssemblies()).Where(t=>t.Name.EndsWith("Reposi

c# - Autofac - 无需传递容器即可解析运行时参数

我有一个更简单的“ServiceHelper”类,它在构造函数中有两个参数:publicServiceHelper(ILoggerlog,stringserviceName)(Autofac提供的NLog的ILogger通用包装器,serviceName是我需要在运行时提供的用于控制的Windows服务的名称。)我无法思考如何使用Autofac在运行时创建此类的新实例并传入不同的服务名称。这样的事情当然行不通,因为我需要在运行时指定不同的服务名称:builder.RegisterType().As().WithParameter(newNamedParameter("serviceNa

c# - 如何在混合的 Web API 和 MVC 应用程序中使用 Autofac 解析 Web API Controller ?

您好,我有一个MVC应用程序,我在其中定义了一些对我的WebAPI的依赖关系。publicclassAutofacWebApiDependenceResolver:IDependencyResolver{privatereadonlyIComponentContextcontainer;publicAutofacWebApiDependenceResolver(IContainercontainer){if(container==null){thrownewArgumentNullException("container");}this.container=container;}pub

c# - 如何将 Autofac 与 WepApi 2 和 Owin 集成?

我正在使用这个包将Autofac与我的WebApiOwin应用程序集成:https://www.nuget.org/packages/Autofac.WebApi2.Owin并关注这篇文章:http://alexmg.com/owin-support-for-the-web-api-2-and-mvc-5-integrations-in-autofac/我在Startup.cs中的代码如下所示:varconfig=newHttpConfiguration();IContainercontainer=EngineContext.InitializeEngine();vardependen

c# - 如何在 Autofac 中为开放通用注册许多

我是Autofac的新手(不是DI)。这是情况:我有这些接口(interface):publicinterfaceIQuery:IQuery{}publicinterfaceIQueryHandlerwhereTQuery:IQuery{TResultHandle(TQueryquery);}在我的解决方案中有很多实现:classGetPersonQuery:IQuery{}classGetPersonQueryHandler:IQueryHandler{}classGetArticleQuery:IQuery{}classGetArticleQueryHandler:IQueryHa

c# - 依赖注入(inject)不适用于 Owin 自托管 Web Api 2 和 Autofac

我正在学习WebApi2、Owin和Autofac,需要一些指导。概览我有一个Owin自托管WebApi,它使用Autofac进行IoC和依赖项注入(inject)。该项目是一个类似于服务的控制台应用程序,这意味着它可以停止和启动。我有一个带有两个构造函数的身份验证Controller:一个无参数,另一个注入(inject)存储库。问题当我运行服务并调用api时,我的无参数构造函数被调用并且我的存储库永远不会被注入(inject)(_repository=null)。研究我做了相当多的研究,并在Github上找到了一些有用的项目,我将它们复制到了T恤上,但我遗漏了很大一部分难题。Thi

c# - 如何在 AutoFac 中使用属性注入(inject)?

在控制台应用程序中,我正在使用Log4Net,在Main方法中我正在获取记录器对象。现在,我想通过让所有类继承自具有ILog属性并且应该由属性注入(inject)而不是构造函数注入(inject)设置的BaseClass来使这个日志对象在我的所有类中可用。我正在使用AutoFacIoC容器,如何将我的日志对象注入(inject)到每个类的日志属性中?实现此目标的最佳/最简单方法是什么?有没有办法自动解析类型?下面是我的测试应用:namespaceConsoleApplication1{classProgram{staticILogLog;staticIContainerContaine

.NET 6 整合 Autofac 依赖注入容器

前言一行业务代码还没写,框架代码一大堆,不利于学习。常看到java的学习资料或博客,标题一般为《SpringBoot整合XXX》,所以仿照着写了《.NET6整合Autofac依赖注入容器》这样一个标题。以下是我自己的用法,可能不是最佳实践。一.引用包NuGet搜索并安装:AutofacAutofac.Extensions.DependencyInjection二.配置代码varbuilder=WebApplication.CreateBuilder(args);...省略//ASP.NETCore整合Autofacbuilder.Host.UseServiceProviderFactory(n

AutoFac

AutoFac的配置使用一.什么是AutoFac第三方IOC容器二.优点它是C#语言联系很紧密,也就是说C#里的很多编程方式都可以为Autofac使用,例如可以用Lambda表达式注册组件较低的学习曲线,学习它非常的简单,只要你理解了IoC和DI的概念以及在何时需要使用它们XML配置支持自动装配与Asp.NetMVC3集成微软的Orchad开源程序使用的就是Autofac,从该源码可以看出它的方便和强大三.使用第一步:Negut包下载AutoFac和Autofac.Extensions.DependencyInjection第二步:自定义一个类,方便对注入服务进行管理(AutoFacModel

AutoFac

AutoFac的配置使用一.什么是AutoFac第三方IOC容器二.优点它是C#语言联系很紧密,也就是说C#里的很多编程方式都可以为Autofac使用,例如可以用Lambda表达式注册组件较低的学习曲线,学习它非常的简单,只要你理解了IoC和DI的概念以及在何时需要使用它们XML配置支持自动装配与Asp.NetMVC3集成微软的Orchad开源程序使用的就是Autofac,从该源码可以看出它的方便和强大三.使用第一步:Negut包下载AutoFac和Autofac.Extensions.DependencyInjection第二步:自定义一个类,方便对注入服务进行管理(AutoFacModel