jjzjj

Container

全部标签

c# - ASP Web Api - IoC - 解析 HttpRequestMessage

我正在尝试使用ASP.NETWebAPI设置CaSTLeWindsor。我也在使用Hyprlinkr包(https://github.com/ploeh/Hyprlinkr),因此需要将HttpRequestMessage实例注入(inject)到我的Controller的依赖项之一中。我正在关注MarkSeemann的这篇文章-http://blog.ploeh.dk/2012/04/19/WiringHttpControllerContextWithCastleWindsor.aspx,但我发现虽然API运行,但当我调用它时,请求只是挂起。没有错误信息。就好像它在一个无限循环中。它

c# - ASP.NET Web API 中处理程序和筛选器的依赖注入(inject)

我正在尝试连接我的WebApi项目以将CaSTLeWindsor用于IoC我已经按照thisexcellentarticle为我的Controller完成了这项工作.我现在正在尝试将依赖项注入(inject)我的DelegatingHandler和ActionFilterAttribute我试图复制常规ASP.NetMVC中用于过滤器的技术,但它们似乎不适用于WebApi有没有人设法让它工作?我不确定WebApi中的相关扩展点是什么我看到了这个建议config.MessageHandlers.Add(_myContainer.Resolve());但不确定是否有更好的方法。我更愿意利用

c# - Unity【依赖】注入(inject)与继承

我的问题如下:我有一个名为ApplicationController的基本Controller(ASP.NetMVCController),我希望我的所有Controller都继承自它。这个基本Controller有一个ILogger属性,标有[Dependency]属性。(是的,我知道我应该使用构造函数注入(inject),我只是对这个属性感到好奇)。我创建了容器,注册了类型,更改了默认工厂,一切都很好。问题是当我尝试在派生Controller中使用我的Logger属性时,它没有得到解决。我做错了什么?为什么容器在创建派生Controller时不解析基类依赖?代码示例:应用程序Con

c# - MEF 从目录加载插件

我与MEF合作,我正在寻找如何通过MEF找到插件的另一种方式更改插件位置的url,我想更改这一行Assembly.LoadFrom(@"C:\julia\project\project.Plugin.Nav\bin\Debug\NavPlugin.dll")));我想删除这个url,因为我需要在另一台机器上部署我的应用程序这是我的功能:publicvoidAssembleCalculatorComponents(){try{//varcatalog=newAssemblyCatalog(Assembly.GetExecutingAssembly());//varcontainer=ne

c# - Caliburn.Micro 无法匹配来自不同程序集的 View 和 ViewModel

我刚开始使用Caliburn.Micro。我正在尝试引导我的简单示例解决方案,将ShellView(用户控件)放在Test.App程序集中,并将ShellViewModel放在Test.ViewModel程序集中。我得到的是一个带有以下文本的窗口:“找不到Caliburn.Test.ViewModel.ShellViewModel的View”。但如果我将ViewModel移动到.App程序集,它会完美运行。这是Caliburn.Micro.Test程序集(可执行)中的Bootstraper:namespaceCaliburn.Micro.Test{publicclassAppBoots

c# - ASP.Net MVC 4 Web API Controller 不适用于 Unity.WebApi

我的ASP.NetMVC4WebAPIController不支持Unity.WebApi。在同一个项目中,简单的Controller可以正确地与Unity.Mvc3配合使用。但是当我运行从ApiController派生的WebAPIController时,我收到一条消息:{"$id":"1","Message":"Anerrorhasoccurred.","ExceptionMessage":"Type'ElectricTests.Controllers.Api.DocumentsController'doesnothaveadefaultconstructor","Exception

c# - 如何递归加载 Azure blob 文件列表?

Azureblob文件存储在没有任何物理文件夹结构的普通列表中,但我们可以创建虚拟文件夹,其中每个文件的文件夹路径都是其名称的一部分。这带来了另一个问题,如何仅使用该文件夹的名称来检索虚拟子文件夹中所有文件的列表? 最佳答案 实际上,有一种更简单的方法可以做到这一点,并且它在库本身中可用。如果你看CloudBlobContainer.ListBlobs方法,它接受两个参数:prefix:这是您的目录名称。如果它是嵌套目录,则需要指定完整路径,例如我的文件夹/我的子文件夹。useFlatBlobListing:将此值设置为true将确

c# - User.IsInRole() 在角色分配后不工作,但在重新登录后工作

在ASP.NETMVC5应用程序中,我使用Unity容器创建OWIN/Identity对象并解析所有依赖项。问题是当我注册为新用户并给他分配这样的角色时userManager.AddToRole(user.Id,"NewUser");...awaituserManager.UpdateAsync(user);它实际上在AspNetUserRoles表中创建了一条记录,但在那之后如果我用User.IsInRole("NewUser")检查他的角色我得到的是假的,除非我注销然后重新登录,否则它是真的。我猜问题可能出在Unity上下文中的身份对象(UserManager、RoleManage

c# - 统一: Change default lifetime manager for implicit registrations and/or disable them

Unity容器将自动解析它可以自行识别的任何类型,无需手动注册。这在某些方面很好,但我遇到的问题是它使用TransientLifetimeManager来解决这种类型的问题,而我几乎总是想要一个ContainerControlledLifetimeManager。当然,我仍然可以手动将我的类型注册为单例,但如果我忘记了,应用程序将成功启动,而不是在启动时出现未处理的异常,并且一切似乎都正常工作。但最终会出现错误,可能非常微妙,难以诊断,因为存在一个类型的多个实例,这意味着是一个单例。所以我的问题是:有没有一种方法可以指定不同的默认生命周期管理器或完全禁用默认的自动解析行为并将容器限制为

c# - Prism,将 Views 和 ViewModels 与 Unity 连接起来,试图理解它

CreatingtheViewandViewModelUsingUnityUsingUnityasyourdependencyinjectioncontainerissimilartousingMEF,andbothproperty-basedandconstructor-basedinjectionaresupported.Theprincipaldifferenceisthatthetypesaretypicallynotimplicitlydiscoveredatruntime;instead,theyhavetoberegisteredwiththecontainer.Typi