VOOZH about

URL: https://www.nuget.org/packages/Eaf.Middleware.Core/

⇱ NuGet Gallery | Eaf.Middleware.Core 9.1.0




👁 Image
Eaf.Middleware.Core 9.1.0

Prefix Reserved
dotnet add package Eaf.Middleware.Core --version 9.1.0
 
 
NuGet\Install-Package Eaf.Middleware.Core -Version 9.1.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="Eaf.Middleware.Core" Version="9.1.0" />
 
 
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Eaf.Middleware.Core" Version="9.1.0" />
 
Directory.Packages.props
<PackageReference Include="Eaf.Middleware.Core" />
 
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 Eaf.Middleware.Core --version 9.1.0
 
 
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: Eaf.Middleware.Core, 9.1.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 Eaf.Middleware.Core@9.1.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=Eaf.Middleware.Core&version=9.1.0
 
Install as a Cake Addin
#tool nuget:?package=Eaf.Middleware.Core&version=9.1.0
 
Install as a Cake Tool
The NuGet Team does not provide support for this client. Please contact its maintainers for support.

Eaf.Middleware.Core

Descrição Técnica

O Eaf.Middleware.Core é a camada de domínio central do Enterprise Application Foundation (EAF). Este módulo fornece as entidades, serviços, configurações, autorização, auditoria e funcionalidades base do framework, servindo como fundação para todos os outros módulos do EAF.

Este módulo implementa os padrões de Domain-Driven Design (DDD) e segue a arquitetura em camadas do ASP.NET Boilerplate (ABP).

Relação com o EAF e ASP.NET Boilerplate

Integração com ABP

  • Abp.ZeroCore: Fornece infraestrutura para multi-tenancy, usuários, roles e permissões
  • Abp.AutoMapper: Configuração automática de mapeamento de objetos
  • Abp.MailKit: Integração para envio de emails
  • Abp.HangFire.AspNetCore: Processamento de jobs em background

Dependências do EAF

  • Eaf.Middleware.AzureActiveDirectory: Integração com Azure AD para autenticação externa
  • Eaf.Middleware.Ldap: Autenticação via LDAP/Active Directory

Principais Componentes

Autorização
  • Gerenciamento de permissões e roles
  • Autorização baseada em claims
  • Integração com Azure AD e LDAP
Auditoria
  • Rastreamento automático de operações
  • Logs de alterações de entidades
  • Histórico de ações dos usuários
Configurações
  • Sistema de configurações multi-tenant
  • Definições de features
  • Gerenciamento de edições
Chat e Amizades
  • Sistema de chat em tempo real
  • Gerenciamento de amizades entre usuários
  • Integração com SignalR
Hangfire
  • Configuração avançada de jobs com seleção automática de storage
  • Suporte a SQL Server, Redis (Hangfire.Redis.StackExchange) e InMemory
  • Enum HangfireStorageType para identificação do tipo de armazenamento
  • Logging aprimorado com Hangfire.Console
  • Heartbeat para monitoramento

Guia de Instalação

Pré-requisitos

  • .NET 10.0 SDK ou superior
  • ASP.NET Boilerplate 10.4.0

Instalação via NuGet

dotnet add package Eaf.Middleware.Core --version 10.4.0

Instalação via Referência de Projeto

Adicione a referência ao seu arquivo .csproj:

<ProjectReference Include="..\Eaf.Middleware.Core\Eaf.Middleware.Core.csproj" />

Exemplo Básico de Uso

1. Registrando o Módulo

No seu módulo principal, herde de MiddlewareCoreModule:

[DependsOn(
 typeof(MiddlewareCoreModule),
 typeof(AbpAutoMapperModule),
 typeof(AbpHangfireAspNetCoreModule)
)]
public class MyApplicationModule : AbpModule
{
 public override void Initialize()
 {
 IocManager.RegisterAssemblyByConvention(Assembly.GetExecutingAssembly());
 }
}

2. Usando Serviços de Domínio

public class MyService : ApplicationService
{
 private readonly ISettingManager _settingManager;
 private readonly IPermissionManager _permissionManager;

 public MyService(
 ISettingManager settingManager,
 IPermissionManager permissionManager)
 {
 _settingManager = settingManager;
 _permissionManager = permissionManager;
 }

 public async Task<string> GetSettingValueAsync(string settingName)
 {
 return await _settingManager.GetSettingValueAsync(settingName);
 }

 public async Task<bool> CheckPermissionAsync(string permissionName)
 {
 return await _permissionManager.IsGrantedAsync(permissionName);
 }
}

3. Usando Configurações de Chat

public class ChatService : ApplicationService, IChatService
{
 private readonly IChatMessageManager _chatMessageManager;

 public ChatService(IChatMessageManager chatMessageManager)
 {
 _chatMessageManager = chatMessageManager;
 }

 public async Task SendMessageAsync(SendChatMessageInput input)
 {
 await _chatMessageManager.SendMessageAsync(
 Session.UserId,
 input.TenantId,
 input.TargetUserId,
 input.Message
 );
 }
}

4. Configurando Hangfire com Console

O módulo já inclui configuração aprimorada para Hangfire:

public override void PreInitialize()
{
 Configuration.BackgroundJobs.UseHangfire(configuration =>
 {
 configuration.UseSqlServerStorage("Default");
 configuration.UseConsole(); // Logging aprimorado
 configuration.UseHeartbeat(); // Monitoramento
 });
}

Estrutura do Módulo

Eaf.Middleware.Core/
├── Auditing/ # Configurações de auditoria
├── Authorization/ # Sistema de autorização e permissões
├── Cache/ # Configurações de cache
├── Chat/ # Sistema de chat
├── Configuration/ # Sistema de configurações
├── Editions/ # Gerenciamento de edições
├── Features/ # Sistema de features
├── Friendships/ # Gerenciamento de amizades
├── Hangfire/ # Configuração de Hangfire
├── Identity/ # Configurações de identidade
├── Localization/ # Arquivos de localização
├── MultiTenancy/ # Configurações multi-tenant
├── Net/ # Utilitários de rede
└── Extensions/ # Extensões do framework

Configurações Opcionais

Configuração de Serilog

public override void PreInitialize()
{
 Configuration.BackgroundJobs.UseHangfire(configuration =>
 {
 configuration.UseSerilogLogProvider(); // Integração com Serilog
 });
}

Configuração de Email

public override void PreInitialize()
{
 Configuration.ReplaceService<IEmailSender, CustomEmailSender>(DependencyLifeStyle.Transient);
}

Testes

Os testes para este módulo estão localizados em:

test/Eaf.MiddlewareCore.Tests/

Para executar os testes:

dotnet test test/Eaf.MiddlewareCore.Tests/Eaf.MiddlewareCore.Tests.csproj

Licença

Este projeto faz parte do Enterprise Application Foundation (EAF) e está licenciado sob os mesmos termos do projeto principal.

Suporte

Para issues e perguntas, consulte o repositório principal do EAF: https://github.com/afonsoft/EAF

Product Versions Compatible and additional computed target framework versions.
.NET net10.0 net10.0 is compatible.  net10.0-android net10.0-android was computed.  net10.0-browser net10.0-browser was computed.  net10.0-ios net10.0-ios was computed.  net10.0-maccatalyst net10.0-maccatalyst was computed.  net10.0-macos net10.0-macos was computed.  net10.0-tvos net10.0-tvos was computed.  net10.0-windows net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (1)

Showing the top 1 NuGet packages that depend on Eaf.Middleware.Core:

Package Downloads
Eaf.Middleware.Application

Package Description

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
9.1.0 97 6/12/2026
Loading failed