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
<PackageReference Include="Nuuvify.CommonPack.Observability.Abstraction" Version="2.9.0" />
<PackageVersion Include="Nuuvify.CommonPack.Observability.Abstraction" Version="2.9.0" />
<PackageReference Include="Nuuvify.CommonPack.Observability.Abstraction" />
paket add Nuuvify.CommonPack.Observability.Abstraction --version 2.9.0
#r "nuget: Nuuvify.CommonPack.Observability.Abstraction, 2.9.0"
#:package Nuuvify.CommonPack.Observability.Abstraction@2.9.0
#addin nuget:?package=Nuuvify.CommonPack.Observability.Abstraction&version=2.9.0
#tool nuget:?package=Nuuvify.CommonPack.Observability.Abstraction&version=2.9.0
Nuuvify.CommonPack.Observability.Abstraction
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
- O que resolve
- Instalação
- Exemplo de uso
- Limites do contrato
- Compatibilidade
- Troubleshooting
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
OperationContextimutável; - padroniza
CorrelationId,TraceId,OperationIde metadata técnica; - fornece
IOperationContextAccessorcomo 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 | Versions 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. |
-
.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.