- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想将配置绑定(bind)到记录类型。
这是配置类型的定义(它没有无参数构造函数):
public record AppConfiguration(string ConnectionString);
这是 sample
Main
方法:
public static void Main(string[] args)
{
var configuration = new ConfigurationBuilder().AddJsonFile("appsettings.json").Build();
AppConfiguration appConfig = new(); // error
configuration.GetSection("app").Bind(appConfig);
}
如果我将定义转换为:
public record AppConfiguration
{
public string ConnectionString {get; init;}
}
它按预期工作,但我宁愿使用记录的“单行”定义。
最佳答案
您的第一种方法的问题在于,您使用单行声明自动定义了 primary constructor , 哪一个
causes the implicitly declared default class constructor, if present,to be suppressed.
init
访问器向后兼容,所以即使
ConnectionString
不直接初始化,它取值
null
.
Bind
方法将使用反射正确填充它,我猜。
关于c# - 将 IConfiguration 绑定(bind)到 C# 记录类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65859447/
我有一个 API,我正在尝试使用 XUnit 对其进行一些集成测试。这是我的 API Controller 构造函数: public class MyController : Controller {
我试图模拟顶级(不是任何部分的一部分)配置值(.NET Core 的 IConfiguration),但徒劳无功。例如,这些都不起作用(使用 NSubstitute,但它与 Moq 或我相信的任何模拟
我想问一下如何创建 ASP.NET Core 配置的实例,这与我在知道 appsettings.json 的 Controller 构造函数中需要它时创建的实例相同。文件 喜欢 _config = A
我正在尝试从 appsettings.json 读取连接字符串,我正在使用: services.AddSingleton(Configuration); 启动时的这一行抛出空值。我是 core2.0
我可能已经盯着这个很久了,但是最近几天我已经跳入了用于 asp.net 的 MVC6,虽然我真的很喜欢这个,但我似乎找不到一种方便的方式来访问它之后的配置在 Start.cs 中定义为 Configu
我正在尝试在我的应用程序中检索配置。 我已将 IConfiguration 传递给需要提取一些设置的服务类。 这个类看起来有点像这样: private IConfiguration _configur
我正在为 ServiceCollection 编写自己的扩展方法来注册我的模块的类型,并且我需要从集合中访问 IConfiguration 实例来注册我的选项。 扩展方法 public static
以下内容仅供引用。 我有一个包含以下内容的 secrets.json: { "Message": "I still know what you did last summer." } 我需要使
我正在制作 fixture到我的tests . 在我的 FixtureFactory我自己做 ServiceCollection : private static ServiceCollect
我一直在尝试解决这个问题,但什么也想不起来了...... 使用 token 的 Web 应用程序,但有些事情让我退缩。 var key = new SymmetricSecurityKey(Encod
通过项目移动类(class)后,IConfiguration 之一方法,GetValue , 停止工作。用法是这样的: using Newtonsoft.Json; using System; usi
我正在使用 C# 和 Core .NET 构建类库。我正在尝试使用 config.json 文件中的配置。以下是该文件的内容: config.json { "emailAddress":"some
出于某种原因,我们无法在启动时从 Azure KeyVault 检索 secret 值。虽然 secret 似乎可以通过 IConfiguration 接口(interface)在过程中使用的方法中获
我们可以像这样将 IConfiguration 注入(inject)到类中: //Controller AppSettings obj = new AppSettings(_configuration
出于某种原因,我们无法在启动时从 Azure KeyVault 检索 secret 值。虽然 secret 似乎可以通过 IConfiguration 接口(interface)在过程中使用的方法中获
.NET Core 配置允许使用很多选项来添加值(环境变量、json 文件、命令行参数)。 我只是无法弄清楚并找到如何通过代码填充它的答案。 我正在为配置的扩展方法编写单元测试,我认为通过代码将其填充
我有一个非常简单的方法需要进行单元测试。 public static class ValidationExtensions { public static T GetValid(this IC
我正在使用 asp.net + Autofac。 我正在尝试加载一个自定义 JSON 配置文件,并基于该文件创建/实例化一个 IConfiguration 实例,或者至少将我的文件包含到默认情况下 a
我通常会做以下事情 static void Main() { IConfiguration config = new ConfigurationBuilder()
public static IWebHostBuilder CreateWebHostBuilder(string[] args) => WebHost.CreateDefaultBuilde
我是一名优秀的程序员,十分优秀!