【c# – 基于路由参数的子容器注册】教程文章相关的互联网学习教程文章

c# – 使用Nsubstitute注册或配置IOC容器【代码】

我有一个自定义IOC容器,它接受Interface和Concrete类型作为注册参数.在我的项目中,我已经注册了下面代码中提到的配置.你能帮助我一个人如何使用NSubstitute注册单元测试项目吗? IOC -Conatincer.csRegister<Intf, Impl>();应用程序 – Configuration.csRegister<ICustomer,Customer>();单元测试应用程序 – CustomerTest.csRegister<ICustomer,StubCustomer>(); -I want something like this var substitute = Substitute.For<I...

c# – 在docker容器中运行的Identity Server 4异常:无法加载DLL’System.Security.Cryptography.Native.OpenSsl’【代码】

我试图让Identity Server 4在Docker容器中运行ASP.NET Core并继续获得以下异常Unhandled Exception: System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.TypeInitializationException: The type initializer for 'Crypto' threw an exception. ---> System.DllNotFoundException: Unable to load DLL 'System.Security.Cryptography.Native.OpenSsl': The spec...

c# – 如何在主容器中注册类型,但在子容器中解析?【代码】

我有一个统一容器并使用RegisterType使用ContainerControlledLifetimeManager注册以下存储库和实现者.public interface IPersonRepository {Person GetByID(ObjectSpace objectSpace, int id); }使用这种模式我可以有多个线程(它是一个Web应用程序)同时使用相同的存储库实例,尽管每个线程使用不同的ObjectSpace(这是一个本地缓存机制,用于从数据库中获取对象)工作单位等).但这让我感到“肮脏”,而不是那种善良的:-) 我真正想要的是...

c# – 嵌套泛型集合:如何实现从项到容器的引用?【代码】

在使用嵌套泛型集合实现设计时,我偶然发现了由C#的不变泛型引起的那些局限:Cannot convert from Collection<subtype of T> to Collection<T> 这意味着,以下内容不起作用,显然是由于泛型的不变性:class Outer<TInner, TInnerItem> where TInner : Inner<TInnerItem> {public void Add(TInner item){item.Outer = this; // ERROR:// Cannot implicitly convert from Outer<TInner, TInnerItem> // to Outer<Inner<TInnerItem>, TIn...

c# – 基于路由参数的子容器注册【代码】

我们有一个多宿主的ASP.NET MVC应用程序,它为多个客户端托管一个预订引擎.这些客户端中的每一个都有多个可以影响Unity容器配置的软件包.我们正在为每个请求创建一个子容器,并根据通过该路由传递的客户端和包参数注册不同的接口实现. 目前,我们通过执行以下操作来实现此目的: > Controller有一个属性ServiceLocator,它使用一个统一容器来解析依赖关系.> Controller将IUnityContainer注入并分配给属性.> Controller有一个自定义Acti...

c# – 如何在容器之间复制blob?【代码】

public void CopyBlobsBetweenContainers(string sourceContainerName, string targetContainerName, IEnumerable<string> blobsToCopy) {foreach (var sourceBlobName in blobsToCopy){_cancellationToken.ThrowIfCancellationRequested();var sourceBlob = sourceContainer.GetPageBlobReference(sourceBlobName);if (!sourceBlob.Exists()){throw new InvalidOperationException(SafeFormatter.Format(CloudLocalization.Cultur...

c# – NancyFx – 如何在应用程序容器中处理注册为singleton的实例?【代码】

我的具体上下文是一个自托管的Nancy应用程序,我在那里使用RavenDb嵌入式文档数据库. 我的引导程序看起来像这样:public class MyBootstrapper : DefaultNancyBootstrapper {protected override void ConfigureApplicationContainer(TinyIoCContainer container){base.ConfigureApplicationContainer(container);container.Register<IDocumentStore>(CreateDefaultStore());container.Register<IDoSomething, MyOtherType>().AsSing...

c# – 限制Windsor容器解析基于的对象【代码】

我想创建一个容器,它将允许解析ISomeService,但不能解析ISomeOtherService.即使我对ISomeService的注册依赖于ISomeOtherService. 那有意义吗?public interface ISomeService {}public interface ISomeOtherService {}public class SomeService : ISomeService {public SomeService(ISomeOtherService someOtherService) {} } public class SomeOtherService : ISomeOtherService {}我想要这个容器解析IsomeService的SomeService但...

c# – 用于属性注入的DryIOC容器配置【代码】

我已经搜索了一个简单的例子来说明如何配置DryIoc容器以简单地将依赖关系注入属性,就像它注入构造函数args一样. 鉴于以下工作示例…… 集装箱登记:public static void Register(HttpConfiguration config){var c = new Container().WithWebApi(config);c.Register<IWidgetService, WidgetService>(Reuse.Singleton);c.Register<IWidgetRepository, WidgetRepository>(Reuse.Singleton);}小部件服务:public class WidgetService :...

c# – 在StructureMap 4.0中获取现有容器

我遇到了StructureMap 4.0的问题.使用StructureMap 3.0时,我使用ObjectFactory来配置所有实例,并且很容易通过解决方案内部的任何接口获取实例.例如: >在global.cs,我声明如下:ObjectFactory.Initialize(x=&GT {x.For().使用(); }>在另一个类,例如Family.cs,它很容易获得Peson的一个例子:var person = ObjectFactory.GetInstance(); 但是,在将StructureMap更新为4.0后,我遇到了问题.它使用Container而不是ObjectFactory,我找不到...

如何在cookie容器c#中删除/更新cookie?【代码】

我使用webbrowser控件打开一个网站,然后将cookie保存在cookieContainer中,稍后使用HTTPwebrequest处理前向浏览页面等. 问题出现了,当我进行搜索并返回100页时,在第一页上,它保存了一个名为ABC的cookie,我将其添加到cookiecontainer并移至下一页,在第二页上再次使用相同的Cookie命名: ABC有一些价值,但现在我在cookiecontainer中有两个相同的cookie,当我移动到下一页时,它不起作用,因为它采取了第一个混乱的东西. 怎么解决这个? H...

c# – 如何在MOQ中自动模拟容器(例如IList)而不使用extensions / contrib【代码】

我想知道是否可以自动模拟MOQ中的容器,不添加任何MOQ库.我在找到一个自动插入IList的干净方法时遇到了问题. 提前致谢!解决方法:回答你的问题:不. 你真的需要模仿IList吗? 模拟通常用于: >测试行为(通过期望)而不是结果.>抽象出复杂或沉重的依赖关系.>通过轻松返回所需的值来简化测试代码.>仅测试您的课程. 例如,您可以模拟访问数据库的存储库.通常,您的测试不会模拟列表,而是使用模拟对象返回包含测试所需数据的列表. 即:var ...

c# – 使用IoC容器预期应用程序可扩展性

我知道有一个类似的问题Here但我认为我的更多了. 我最近一直致力于一个已经投入生产大约一年的应用程序,没有任何问题,也没有真正的扩展计划.该应用程序具有很少的依赖性并使用DI但没有容器. 现在我将应用程序扩展到公司指令的更广泛范围,这促使我实现了IoC容器的使用.这里的问题是向我以前认为不需要的代码添加容器的开销. 我向前迈进的具体问题是: >当规划和编码可能不会扩展太多的较小应用程序时,我是否应该实现容器以预期这些场...

c# – 如何获取具有子目录级别(n级)的Blob容器中的所有blob?【代码】

尝试使用ListBlobsSegmentedAsync方法,但这只返回主父目录级别的blob .. 但我需要从所有n级子目录中一次性获取整个blob列表.BlobContinuationToken continuationToken = null; bool useFlatBlobListing = true; BlobListingDetails blobListingDetails = BlobListingDetails.None; int maxBlobsPerRequest = 500; var blobOptions = new BlobRequestOptions (true );do{var listingResult = await cbDir.ListBlobsSegmentedAsync(u...

c# – 向TabControl容器动态添加选项卡【代码】

我有一个表单,我希望能够通过使用按钮动态添加标签(非常类似于大多数现代浏览器添加标签的按钮).这些选项卡还应包含一个文本框,在创建时将其拉伸到单个选项卡的宽度和高度. 我为缺少代码而道歉但除了在Form类中实例化一个TabControl容器之外,我不知道接下来应该做什么. 提前致谢.解决方法:您只需要在TabControl.TabPages集合上调用Add方法,然后将其他控件添加到该TabPage,如下所示:private void button1_Click(object sender, Eve...