ABP Framework — Infrastructure

Implement ABP Framework v10.4 infrastructure patterns for events, jobs, caching, and locking.

13|4|Updated May 27, 2026
One-click install
npx skills add https://github.com/burakdmir/abp-skills --skill abp-framework-infrastructure
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: ABP Framework — Infrastructure
Source: https://github.com/burakdmir/abp-skills/tree/main/claude/abp-infrastructure
Command: npx skills add https://github.com/burakdmir/abp-skills --skill abp-framework-infrastructure

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This Skill helps you implement ABP Framework v10.4 infrastructure concerns correctly so your application can publish events, run background work, cache data, store blobs, filter/query safely, seed data, manage settings/features, serve embedded files, access the current user, and coordinate concurrency with distributed locks.

Core Features & Use Cases

  • Event Bus (Local & Distributed): Choose the right event bus for monolith, modular monolith, or microservices, and apply the inbox/outbox approach for reliability.
  • Background Jobs: Define async jobs and enqueue work with providers like Hangfire/Quartz/RabbitMQ.
  • Caching & Entity Cache: Use distributed cache patterns such as GetOrAdd, batch operations, UOW-aware caching, Redis integration, and automatic invalidation via entity cache.
  • BLOB Storing & Emailing: Store files through provider abstraction and send emails (including queued delivery) with secure template rendering and SMTP password encryption.
  • Data Filtering, Seeding, Settings & Features: Temporarily disable filters in the correct scope, seed required data, define runtime-configurable settings, and enable tenant-aware feature toggles.
  • Virtual File System, Current User & Distributed Locking: Serve embedded assets via IVirtualFileSystem, access CurrentUser safely, and protect critical sections with IDistributedLockProvider.

Quick Start

Ask the agent to implement the ABP infrastructure plan for your feature by mapping each requirement to the correct ABP component (event bus, background job, cache/blob/email, filtering/seeding/settings/features, and locking) and generating the needed code snippets for ABP v10.4.

Frequently Asked Questions about ABP Framework — Infrastructure

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I implement distributed event bus inbox and outbox patterns in ABP Framework?

To implement distributed event bus reliability in ABP Framework, use the IDistributedEventBus with inbox and outbox patterns to ensure events are delivered exactly once across microservice boundaries. This approach coordinates reliable execution and correct scoping during messaging.

When should I use ILocalEventBus versus IDistributedEventBus in a modular monolith?

Use ILocalEventBus for in-process events within a monolith or modular monolith, and switch to IDistributedEventBus when publishing events across microservice boundaries. Choosing the right ABP event bus ensures reliable execution and correct scoping based on your architecture.

How do I configure distributed caching and automatic entity cache invalidation in ABP?

Configure ABP distributed caching using IDistributedCache with GetOrAdd patterns, batch operations, and Redis integration. The EntityCache pattern provides automatic invalidation by syncing cache entries with underlying data changes through UOW-aware behaviors.

Does ABP Framework background job manager work with Hangfire and Quartz providers?

Yes, the ABP Framework IBackgroundJobManager supports provider-based abstractions for enqueuing async work using Hangfire, Quartz, or RabbitMQ. You define jobs and enqueue background work while the framework manages reliable execution and scoping.

What is the best way to protect critical sections with distributed locking in ABP microservices?

The best way to protect critical sections in ABP microservices is using IDistributedLockProvider to coordinate concurrency across distributed scenarios. This infrastructure pattern prevents race conditions when multiple instances access shared resources.

How do I temporarily disable data filters for safe querying in ABP Framework?

To temporarily disable data filters in ABP Framework, use the IDataFilter interface within the correct scoping boundaries to ensure safe querying. This approach maintains reliable execution while bypassing soft delete or multi-tenant filters when required.