问题标签 [servicecollection]
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.
asp.net-core - 什么是 ObjectPoolProvider 以及为什么 asp.net 核心 IServiceCollection 默认注入了这个
我注意到设置新的 asp.net 核心应用程序的 ServiceCollection 默认情况下具有由框架注入的 Microsoft.Extensions.ObjectPool.ObjectPoolProvider 。为什么会这样,更重要的是我们应该什么时候使用它以及如何使用它。
对此进行谷歌搜索没有结果,我可以在 docs.microsoft.com 上找到的文档仅描述了该类型,没有其他任何内容。
c# - 在运行时 .net 核心中从控制器注册服务
在我的项目中,我正在加载一些 dll 程序集,这些程序集包含控制器以及需要在我们的 DI 容器中注入的服务。
我尝试使用默认的 dotnet core DI 或 Autofac 寻找解决方案,但没有任何结果。
我知道这不是在运行时更新 DI 的好习惯,但我希望我能找到一个好的解决方案。
我有另一种方法,但它将服务保存在配置文件中,并且需要重新启动应用程序以加载配置以开始注册服务。
我的代码示例
c# - 使用 XUnit Mediatr 和 IServiceCollection 进行依赖注入
目前,我能够处理 IServiceCollection 以通过以下方式为特定服务注入模拟。
对于以下测试对象
该测试运行良好,并且在命令处理程序中使用了 unitOfWork 和 logger 模拟。
我试图移动它,以便 IServiceCollection 构造发生在每个类而不是每个测试中,使用以下内容:
不幸的是,使用这种方法,我的模拟不会被注入命令处理程序。有没有办法让它工作?
谢谢,
c# - 选项模式 - 接口/抽象属性
我想将以下对象与ServiceCollection中的appsettings.json数据绑定,但是我无法更改类或接口的设计:
这是我在appsettings.json中的数据
这是我对服务提供商的配置:
这是我得到错误的部分
无法创建“IConnectionInfo”类型的实例,因为它要么是抽象的,要么是接口:
c# - C# 服务集合将类型添加为对象而不是其实际类型
我的代码有点问题。
基本上,我正在尝试将通过反序列化 JSON 创建的类动态添加到我的 ServiceCollection 中,这样我就可以从任何需要它们的类中获取它们。到目前为止,我有以下代码:
我们将 JSON 加载到一个类中(有效),然后将其添加到我们的集合中(有效);当添加到我们的集合中时,类型是一个对象,所以当我尝试通过 调用它时Services.GetServices(typeof(BotConfiguration)).ToList().Count);
,它返回 0。什么给出了?
好吧,如果我们改为尝试 run Services.GetServices(typeof(object)).ToList().ForEach(x => Console.WriteLine(x.ToString()));
,我们实际上可以看到这个实例化实际上属于对象类型,即使当我们运行 x.ToString() 时,它表明它是 BotConfiguration 的一个实例(输出 Dexter.Core.Configurations. BotConfiguration 在我的例子中)。
我们如何让我们的 ServiceCollection 将其添加为它的实际类而不是对象?它清楚地知道它是什么类型……?
c# - 创建了一个新的ServiceCollection,添加了服务,但是GetService返回null
我创建了一个新的 servicecollection 对象并添加了一个服务。但是,当我构建服务提供者并尝试获取服务时,它返回 null。下面的例子。
该示例使用数据上下文,但它发生在任何服务中。此代码正在控制器方法中进行测试。
等效代码在实现 IDesignTimeDbContextFactory 的类的 CreateDbContext 中工作。如果这有助于回答。
fallback - FallbackAsync 方法停止 REST 调用
这是调解员电话
这个 MyClient Post 方法被非常频繁地调用。例如,在给定的一秒内,有 7 个呼叫正在进行。并且每秒钟有 7 个在继续。
应用程序工作正常,直到 Post 方法返回“HttpStatusCode.Forbidden”。当它返回 Forbidden 时,一些下一个调用不会到达 REST 端点。
这是由于某些连接不可用吗?例如:由于“fobidden”状态和 polly 后备策略而丢失的连接很少?(因为最大限制是 10)?
或者这是由于 Async 及其时间安排使得当第二批呼叫进来时连接仍在使用中?
提前致谢
c# - ServiceCollection IOptions<> 无法正确绑定
我正在尝试绑定一些可配置的设置。这些值是通过 app-settings.local.json 提供的。要绑定的模型称为可配置设置。我尝试遵循一些教程并解决问题:
- https://andrewlock.net/how-to-use-the-ioptions-pattern-for-configuration-in-asp-net-core-rc2/
- https://github.com/aspnet/Configuration/issues/411
- 无法从 .NET Core 项目中的 JSON appsettings 文件设置配置
- 即使 GetSection 正在工作,ServiceCollection 也会为 IOptions 返回 null
我试图遵循此处给出的建议并将其应用到我自己的应用程序中。经过 4 小时的尝试,我无法让它工作。要么我缺乏实现这一点所需的基本知识,要么我忽略了一些东西。
我的 ConfigurableSettings 类的结构如下:
我的 ConfigureServices 结构如下:
我的 app-settings.local.json 配置如下:
当我尝试在类中使用它时,我在构造函数中调用它,如下所示:
有人可以帮我找出我做错了什么吗?
c# - 在 IServiceCollection 中配置 CORS 设置后,我可以读取 .NET 5 中的 CORS 设置吗?
我根据此处的示例配置我的 CORS 设置:https ://stackoverflow.com/a/65039768/10069673
我想编写一个单元测试来验证 CORS 是否配置正确。IsOriginAllowed
是一个私有函数,因此我不能在单元测试中直接调用它。
我可以使用IServiceCollection
接口的对象或模拟来检查先前配置的 CORS 设置是否允许/阻止 URI?
.net-core - 有没有更好的方法在 Startup 类的 ConfigureServices 方法中注入所有依赖项
而这样的例子不胜枚举....
有没有更好的方法来解决这种依赖关系,而不是像这样为每个服务编写代码。是否有任何其他方式,例如从程序集中读取或使用反射来解决这些依赖关系。这样,如果我有 300 个接口,我必须编写 300 行来解决依赖关系。