草庐IT

Spring之@Autowired依赖注入探究

全部标签

c# - WCF 自定义行为的依赖注入(inject)

在我的WCF服务中,我有一个自定义消息检查器,用于根据XML模式将传入消息验证为原始XML。消息检查器有一些它需要的依赖项(例如记录器和XML模式集合)。我的问题是,我可以使用依赖注入(inject)框架(我目前正在使用Ninject)来实例化这些自定义行为并自动注入(inject)依赖项吗?我做了一个简单的例子来演示这个概念:usingSystem.ServiceModel.Channels;usingSystem.ServiceModel.Description;usingSystem.ServiceModel.Dispatcher;usingNinject.Extensions.

c# - 忽略 Nuget 包中的依赖项

我有一个包含5个依赖项的包——其中一个是MVC3。安装这个包时,我想单独忽略对MVC3的依赖。有什么办法可以做到吗?在Nuget包管理器控制台中,有一个选项可以在安装包时忽略依赖项--Install-Package-IgnoreDependencies我想知道是否有一种方法可以提及要忽略的特定依赖项,而不是忽略所有依赖项。 最佳答案 如果您正在创建自己的包,则将以下内容添加到您的nuspec注意行开头.创建自己的包时,您可以使用developmentDependency="true"排除单个包.这将删除该包作为依赖项。我提供的示例只

c# - 在运行时将接口(interface)的不同实现注入(inject)命令

我的项目中有一个接口(interface),有2个类实现它:publicinterfaceIService{intDoWork();}publicclassService1:IService{publicintDoWork(){return1;}}publicclassService2:IService{publicintDoWork(){return2;}}我有一个依赖于IService的命令处理程序也是:publicCommandHandler1:ICommandHandler{IService_service;publicCommandHandler1(IServiceservi

c# - 在运行时加载 NuGet 依赖项

我正在寻找一种通过执行以下步骤来运行代码的方法:接收NuGet包列表(元组列表(“包名称”、“包版本”、“主类路径”)。在本地目录中检索它们(参见代码示例#1)在运行时将它们加载到我的程序中通过内省(introspection)运行主要类(参见代码示例#2)现在我正在为第三步而苦苦挣扎。我找不到如何在运行时加载我的包。我的主要问题是:如何找出检索到的包存储在哪些文件夹中?如何将这些目录的内容加载到我的程序中?代码示例#1:privatestaticvoidgetPackageByNameAndVersion(stringpackageID,stringversion){IPackage

c# - 连接 NLog 并将其注入(inject) .NET Core 控制台应用程序

我创建了一个消费者/工作,我将在Linux上以C#编写的进程运行。该过程将:从RabbitMQ读取消息修改数据库记录任何错误NLog上所有关于.NETCore的文档都在ASP.NETCore上。当我尝试获取ILogger实现时,它返回null。这里是接线和使用的异常(exception)情况:staticvoidConfigureServices(){stringenvironment=Environment.GetEnvironmentVariable("ASPNETCORE_ENVIRONMENT");varbuilder=newConfigurationBuilder().Set

c# - 如何使用通过依赖注入(inject)使用泛型的存储库接口(interface)?

我正在尝试使用以下通用存储库接口(interface)进行DI和构造函数注入(inject):publicinterfaceIRepository:IDisposablewhereTEntity:class问题是为了定义接口(interface)的实例,我必须像这样提供类类型:privateIRepository_personRepository;这个问题是如果我使用DI(并且我使用Unity作为IoC框架),那么我必须在我的构造函数中定义多个实例来获取我需要使用的所有存储库接口(interface),如下所示:publicMyClass(IRepositorypersonReposi

c# - Autofac 属性注入(inject)在属性上失败

我发现了一些关于此的问题,但它们往往指向我正在关注的确切文档......但它仍然无法正常工作。我正在构建一个相当简单的ASP.NETMVC4站点,计划使用基于ActionFilterAttribute的日志记录。我有一个DataAccessProvider类,它打开与数据库的事务并提供工作单元实例,我试图将它注入(inject)过滤器属性。documentation表示只需调用RegisterFilterProvider(),并确保相关类型已注册。它明确表示不需要注册该属性,但我已经尝试过使用和不使用。我的代码目前看起来像这样:varbuilder=newContainerBuilde

c# - WebApi + 简单注入(inject)器 + OWIN

我正在尝试在WebAPI项目中将SimpleInjector与OWIN结合使用。但是,ConfigureAuth中的以下行失败app.CreatePerOwinContext(container.GetInstance);异常(exception)情况是ApplicationUserManager注册为“WebAPI请求”生活方式,但该实例是在WebAPI请求的上下文之外请求的。我正在使用container.RegisterWebApiRequest();在容器初始化中。(如果我使用Register而不是RegisterWebApiRequest不会有任何异常(exception),但

c# - 依赖注入(inject)容器?它有什么作用?

我一直在阅读有关DI的资料,它似乎是一个足够简单的概念。我没有得到的是容器。假设我想创建自己的容器。使用了像“检测”这样的动词,但我不明白容器是如何“检测”到一个新的依赖对象已创建并知道注入(inject)它的依赖项的。在我看来,容器就像是一家美化的工厂。任何人都可以解释容器的实际实现方式,或者可以为我指出一种资源吗?谢谢! 最佳答案 这取自WindsordocumentationInversionofControlInversionofControlisaprincipleusedbyframeworksasawaytoallow

c# - Workflow Foundation 4 中的依赖注入(inject)/IoC

是否可以在您的工作流事件中使用DI?如果是,怎么做?例如,如果您有这样的事件publicsealedclassMyActivity:CodeActivity{publicMyClassDependency{get;set;}protectedoverridevoidExecute(CodeActivityContextcontext){Dependency.DoSomething();}}如何设置依赖?(我正在使用Spring.Net) 最佳答案 工作流不使用IOC容器。它使用ServiceLocator模式,您可以在其中将依赖项作