小编Gab*_*ton的帖子

.NET 5 IOptionsSnapshot:无法解析范围服务

当我尝试解析 IOptionsSnapshot 服务时,出现以下异常:

“无法从根提供程序解析范围服务“Microsoft.Extensions.Options.IOptionsSnapshot`1[Test.MyOptions]”。”

如果有人可以告诉我问题,我将测试代码留在下面。

主要的

using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Options;
using System.IO;

class Program
{
    static void Main(string[] args)
    {
        var configuration = new ConfigurationBuilder()
            .SetBasePath(Directory.GetCurrentDirectory())
            .AddJsonFile("AppSettings.json", optional: false, reloadOnChange: true)
            .AddJsonFile("MyOptions.json", optional: false, reloadOnChange: true)
            .AddEnvironmentVariables()
            .Build();

        var services = new ServiceCollection();
        var provider = services.Configure<MyOptions>(configuration.GetSection(nameof(MyOptions))).BuildServiceProvider(true);

        var test = provider.GetRequiredService<IOptionsSnapshot<MyOptions>>();
    }
}
Run Code Online (Sandbox Code Playgroud)

我的选项类

public class MyOptions
{
    public int Value { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

我的选项.json

{
  "MyOptions": {
    "Value": 10
  }
}
Run Code Online (Sandbox Code Playgroud)

c# dependency-injection .net-5

7
推荐指数
1
解决办法
4393
查看次数

为什么在 WPF 中实现 INotifyPropertyChanged 可以避免内存泄漏?

我读到了如何通过仅绑定实现 INotifyPropertyChanged 或它们是 DependencyObject 对象的属性来避免Windows Presentation Foundation应用程序中的内存泄漏。但是如何让 CLR 收集这些对象呢?

来源信息:

WPF 绑定实际上会导致内存泄漏。经验法则是始终绑定到 DependencyObject 或 INotifyPropertyChanged 对象。如果您不这样做,WPF 将从静态变量创建对绑定源(即 ViewModel)的强引用,从而导致内存泄漏(https://michaelscodingspot.com/ways-to-cause-memory-leaks-在-dotnet/

c# wpf memory-leaks

5
推荐指数
1
解决办法
1296
查看次数

使用 System.Text.Json 反序列化带有私有 setter 的属性

有没有办法将System.Text.Json.JsonSerializer.Deserialize与包含私有 setter 属性的对象一起使用,并填充这些属性?(就像Newtonsoft.Json那样)

c# serialization system.text.json

3
推荐指数
2
解决办法
2896
查看次数