Aracılığıyla paylaş


EXTOBS0001: IResourceMonitor kullanımdan kaldırıldı

Microsoft.Extensions.Diagnostics.ResourceMonitoring.IResourceMonitor Arabirim ve ilgili API'ler .NET 9'dan başlayarak kullanım dışıdır. Bu API'ler gelecekteki bir sürümde kaldırılacaktır. Kaynak izleme işlevi, gözlemlenebilir araçlar kullanılarak daha verimli ölçüm tabanlı bir yaklaşımla değiştirilmiştir.

Aşağıdaki API'ler kullanım dışı olarak işaretlenir. Bu API'lerin kullanılması derleme zamanında uyarı EXTOBS0001 oluşturur.

Geçici Çözümler

Kullanmak yerine IResourceMonitor, gözlemlenebilir enstrümanlarla kaynak izleme metriklerini kullanmaya geçin. Ölçüm tabanlı yaklaşım aynı kaynak kullanım bilgilerini (CPU, bellek) sağlar ancak OpenTelemetry gibi modern gözlemlenebilirlik sistemleriyle daha iyi tümleştirilir.

Geçiş örneği

Eski yaklaşım IResourceMonitor kullanarak:

services.AddResourceMonitoring();

// Inject and use IResourceMonitor
public class MyService
{
    private readonly IResourceMonitor _resourceMonitor;

    public MyService(IResourceMonitor resourceMonitor)
    {
        _resourceMonitor = resourceMonitor;
    }

    public void CheckResources()
    {
        var utilization = _resourceMonitor.GetUtilization(TimeSpan.FromSeconds(1));
        Console.WriteLine($"CPU: {utilization.CpuUsedPercentage}%");
        Console.WriteLine($"Memory: {utilization.MemoryUsedPercentage}%");
    }
}

Ölçümleri kullanan yeni yaklaşım:

services.AddResourceMonitoring();

// Configure metrics collection.
services.AddOpenTelemetry()
    .WithMetrics(builder =>
    {
        builder.AddMeter("Microsoft.Extensions.Diagnostics.ResourceMonitoring");
        builder.AddConsoleExporter();
    });

Kaynak izleme ölçümleri otomatik olarak yayımlanır ve OpenTelemetry uyumlu ölçümler işlem hattı tarafından kullanılabilir. Daha fazla bilgi için bkz Microsoft.Extensions.Diagnostics.ResourceMonitoring . ölçümler.

Uyarıyı gizleme

Eski API'leri kullanmanız gerekiyorsa, uyarıyı kodda veya proje dosyanızda gizleyebilirsiniz.

Yalnızca tek bir ihlali engellemek için, önişlemci yönergelerini kaynak dosyanıza ekleyerek uyarıyı devre dışı bırakın ve sonra yeniden etkinleştirin.

// Disable the warning.
#pragma warning disable EXTOBS0001

// Code that uses obsolete API.
// ...

// Re-enable the warning.
#pragma warning restore EXTOBS0001

Projenizdeki tüm EXTOBS0001 uyarılarını engellemek için proje dosyanıza bir <NoWarn> özelliği ekleyin.

<Project Sdk="Microsoft.NET.Sdk">
  <PropertyGroup>
   ...
   <NoWarn>$(NoWarn);EXTOBS0001</NoWarn>
  </PropertyGroup>
</Project>

Daha fazla bilgi için bkz. uyarıları gizleme.

Ayrıca bakınız