Nuuvify.CommonPack.Observability.Abstraction 2.9.0

dotnet add package Nuuvify.CommonPack.Observability.Abstraction --version 2.9.0
                    
NuGet\Install-Package Nuuvify.CommonPack.Observability.Abstraction -Version 2.9.0
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Nuuvify.CommonPack.Observability.Abstraction" Version="2.9.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Nuuvify.CommonPack.Observability.Abstraction" Version="2.9.0" />
                    
Directory.Packages.props
<PackageReference Include="Nuuvify.CommonPack.Observability.Abstraction" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Nuuvify.CommonPack.Observability.Abstraction --version 2.9.0
                    
#r "nuget: Nuuvify.CommonPack.Observability.Abstraction, 2.9.0"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package Nuuvify.CommonPack.Observability.Abstraction@2.9.0
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Nuuvify.CommonPack.Observability.Abstraction&version=2.9.0
                    
Install as a Cake Addin
#tool nuget:?package=Nuuvify.CommonPack.Observability.Abstraction&version=2.9.0
                    
Install as a Cake Tool

Nuuvify.CommonPack.Observability.Abstraction

Quality Gate Status

NuGet Downloads

Contrato neutro para contexto de operação em bibliotecas, Application e Domain que precisam conhecer correlação e rastreio sem depender de ASP.NET Core, hosting, logging, banco de dados ou outro provedor de infraestrutura.

Índice

Quando usar

Use este pacote quando uma camada neutra precisar receber ou consultar o contexto de uma operação, mas não deve referenciar HttpContext, IConfiguration, ILogger, ASP.NET Core ou APIs específicas do host.

É adequado para contratos compartilhados entre API, worker, jobs e adaptadores de mensageria. Para registrar o contexto e abrir escopos em runtime, use também Nuuvify.CommonPack.Observability.

O que resolve

  • define OperationContext imutável;
  • padroniza CorrelationId, TraceId, OperationId e metadata técnica;
  • fornece IOperationContextAccessor como dependência pequena e testável;
  • mantém as regras de negócio independentes do mecanismo de transporte.

Instalação

<PackageReference Include="Nuuvify.CommonPack.Observability.Abstraction" Version="2.8.0" />

Exemplo de uso

using Nuuvify.CommonPack.Observability.Abstraction;

public sealed class AuditEntry
{
    public AuditEntry(IOperationContextAccessor contextAccessor)
    {
        CorrelationId = contextAccessor.Current.CorrelationId;
        OperationId = contextAccessor.Current.OperationId;
    }

    public string CorrelationId { get; }

    public string OperationId { get; }
}

O pacote de abstração não decide como o contexto é armazenado. Essa decisão pertence ao pacote de runtime ou ao adaptador do host.

Limites do contrato

Não coloque headers, IPs, claims, tokens, secrets, payloads, HttpContext, configuração ou tipos de logging em OperationContext. Metadata deve conter somente informações técnicas mínimas e não sensíveis.

Compatibilidade

  • alvo: netstandard2.1;
  • sem dependências de ASP.NET Core, hosting ou opções;
  • pode ser referenciado por bibliotecas compatíveis com .NET Standard 2.1 e aplicações .NET modernas.

Troubleshooting

O projeto precisa de AsyncLocal

Não implemente armazenamento no contrato. Referencie o pacote Nuuvify.CommonPack.Observability no runtime que controla os escopos.

Metadata contém dados sensíveis

Remova esses dados do contexto e transporte apenas identificadores técnicos ou um identificador não sensível. O contrato não é um cofre nem um repositório de claims.

Product Compatible and additional computed target framework versions.
.NET net5.0 was computed.  net5.0-windows was computed.  net6.0 was computed.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 was computed.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  net9.0 was computed.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 was computed.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
.NET Core netcoreapp3.0 was computed.  netcoreapp3.1 was computed. 
.NET Standard netstandard2.1 is compatible. 
MonoAndroid monoandroid was computed. 
MonoMac monomac was computed. 
MonoTouch monotouch was computed. 
Tizen tizen60 was computed. 
Xamarin.iOS xamarinios was computed. 
Xamarin.Mac xamarinmac was computed. 
Xamarin.TVOS xamarintvos was computed. 
Xamarin.WatchOS xamarinwatchos was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
  • .NETStandard 2.1

    • No dependencies.

NuGet packages (2)

Showing the top 2 NuGet packages that depend on Nuuvify.CommonPack.Observability.Abstraction:

Package Downloads
Nuuvify.CommonPack.Middleware

Middlewares e filtros customizados, deve ser baixado no projeto IoC. HandlingHeadersMiddleware - Inclui a versco da aplicacco e do assembly no header da request, tambcm loga o conteudo da request. GlobalHandleException - Captura e loga as exceptions de forma global. ValidateModelAttribute - Retorna os erros da ModelState de forma padronizada

Nuuvify.CommonPack.Observability

Implementação neutra para isolamento de contexto de operação usando AsyncLocal e integração com Activity.Current.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
2.9.0 57 8/26/2026
2.9.0-preview.45 51 8/26/2026
2.9.0-preview.44 63 8/26/2026

# Changelog

## [Não Lançado]

- Documentado o contrato neutro de `IOperationContextAccessor` para migração de `RequestConfiguration`.

## 2.8.0

- Adicionado o contrato neutro de contexto de operação para correlação, trace e metadata.
- Definido `OperationContext` imutável e `IOperationContextAccessor` minimalista.
- Mantém o pacote sem dependência de ASP.NET Core ou hosting.