Nuuvify.CommonPack.MftMailbox
2.6.0-test.26070804
This is a prerelease version of Nuuvify.CommonPack.MftMailbox.
dotnet add package Nuuvify.CommonPack.MftMailbox --version 2.6.0-test.26070804
NuGet\Install-Package Nuuvify.CommonPack.MftMailbox -Version 2.6.0-test.26070804
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.MftMailbox" Version="2.6.0-test.26070804" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Nuuvify.CommonPack.MftMailbox" Version="2.6.0-test.26070804" />
<PackageReference Include="Nuuvify.CommonPack.MftMailbox" />
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.MftMailbox --version 2.6.0-test.26070804
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: Nuuvify.CommonPack.MftMailbox, 2.6.0-test.26070804"
#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.MftMailbox@2.6.0-test.26070804
#: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.MftMailbox&version=2.6.0-test.26070804&prerelease
#tool nuget:?package=Nuuvify.CommonPack.MftMailbox&version=2.6.0-test.26070804&prerelease
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
Nuuvify.CommonPack.MftMailbox
Núcleo de orquestração para integração com MFT Mailbox, com foco em:
- resolução de clientes por protocolo (factory)
- idempotência
- auditoria de transferência
- utilitários de resiliência e checksum
Índice
- Quando usar
- Pacotes relacionados
- Instalação
- Configuração no DI
- Configuração de opções
- Exemplo de uso
- Componentes principais
- Boas práticas em produção
- Compatibilidade
Quando usar
- Quando você quer padronizar o consumo de MFT entre múltiplos protocolos.
- Quando o projeto precisa de uma camada única de factory, idempotência e auditoria.
- Quando adapters SFTP/HTTPS devem ser plugáveis sem acoplamento no domínio.
Pacotes relacionados
- Nuuvify.CommonPack.MftMailbox.Abstraction
- Nuuvify.CommonPack.MftMailbox.Sftp
- Nuuvify.CommonPack.MftMailbox.Http
Instalação
<PackageReference Include="Nuuvify.CommonPack.MftMailbox" Version="x.x.x" />
Configuração no DI
using Nuuvify.CommonPack.MftMailbox;
builder.Services.AddMftMailboxCore(options =>
{
options.MaxBatchSize = 500;
options.MaxFileSizeBytes = 1_073_741_824;
options.MaxDegreeOfParallelism = 4;
options.FileTimeout = TimeSpan.FromMinutes(5);
options.BatchTimeout = TimeSpan.FromMinutes(30);
options.Retry.MaxRetries = 3;
options.Retry.BaseDelay = TimeSpan.FromSeconds(2);
options.Retry.MaxDelay = TimeSpan.FromSeconds(30);
options.CircuitBreaker.FailureThreshold = 5;
options.CircuitBreaker.BreakDuration = TimeSpan.FromSeconds(60);
});
Configuração de opções
MftMailboxOptions
- MaxBatchSize: limite de itens por lote.
- MaxFileSizeBytes: limite por arquivo.
- MaxDegreeOfParallelism: concorrência máxima sugerida.
- FileTimeout: timeout por arquivo.
- BatchTimeout: timeout por lote.
- Retry: configuração de tentativas/transientes.
- CircuitBreaker: proteção contra indisponibilidade externa.
Stores e sinks padrão
O pacote registra implementações padrão:
- IMftIdempotencyStore → InMemoryMftIdempotencyStore
- ITransferAuditSink → NullTransferAuditSink
- IMftClientFactory → MftClientFactory
Você pode substituir por implementações próprias no seu projeto.
Exemplo de uso
using Nuuvify.CommonPack.MftMailbox.Abstraction.Interfaces;
using Nuuvify.CommonPack.MftMailbox.Abstraction.Models;
public sealed class MftStatusService
{
private readonly IMftClientFactory _factory;
public MftStatusService(IMftClientFactory factory)
{
_factory = factory;
}
public Task<TransferStatus?> GetAsync(string integrationKey, string itemId, CancellationToken ct)
{
var client = _factory.CreateStatusClient(MftProtocol.Https);
return client.GetStatusAsync(integrationKey, itemId, ct);
}
}
Componentes principais
- MftMailboxSetup: extensão AddMftMailboxCore.
- MftClientFactory: resolve implementação por MftProtocol.
- InMemoryMftIdempotencyStore: referência para cenários simples e testes.
- RetryExecutor, ResilienceGate, ChecksumCalculator, IdempotencyKeyBuilder.
Boas práticas em produção
- Troque InMemoryMftIdempotencyStore por store persistente.
- Troque NullTransferAuditSink por sink de observabilidade (log, fila ou banco).
- Ajuste retry/circuit breaker por SLA da integração.
- Defina limites de lote/arquivo compatíveis com throughput do ambiente.
Compatibilidade
- Framework alvo: .NET 8
- Dependência de abstração: Nuuvify.CommonPack.MftMailbox.Abstraction
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net8.0 is compatible. 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. |
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
-
net8.0
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 8.0.2)
- Microsoft.Extensions.Logging.Abstractions (>= 8.0.2)
- Microsoft.Extensions.Options (>= 8.0.2)
- Nuuvify.CommonPack.MftMailbox.Abstraction (>= 2.6.0-test.26070804)
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 2.6.0-test.26070804 | 1 | 7/8/2026 |
# Changelog - Nuuvify.CommonPack.MftMailbox
Todas as mudancas notaveis deste pacote serao documentadas neste arquivo.
O formato e baseado em [Keep a Changelog](https://keepachangelog.com/pt-br/1.0.0/),
e este projeto adere ao [Semantic Versioning](https://semver.org/lang/pt-BR/spec/v2.0.0.html).
## [Nao Lancado]
### Adicionado
- Nucleo de MFT Mailbox com factory, idempotencia e auditoria.
### Alterado
### Corrigido
### Removido
### Seguranca