Skip to content

πŸ“š ConnectSoft Libraries Catalog

ConnectSoft provides a curated set of reusable libraries published as NuGet packages. Each library is designed to encapsulate a specific cross-cutting concern or foundational capability for modern .NET applications.

All packages are compatible with .NET 8 and .NET 9 (multi-targeted) and align with best practices in microservice, DDD, and configuration-driven environments.


βœ… Available Libraries

1. ConnectSoft.Extensions

  • Purpose: Utility extensions for native .NET types (string, int, DateTime, etc.) and shared base types.
  • Key Features:
    • string.ToSlug(), int.IsEven(), DateTime.IsWeekend()
    • IEnumerable<T>.IsNullOrEmpty()
    • Base exception for domain logic: DomainModelException
  • Use Cases: Utility libraries, shared code, microservices
  • NuGet: View Package
  • Status: 🟒 Stable

2. ConnectSoft.Extensions.DataAnnotations

  • Purpose: Adds missing validation functionality to .NET's DataAnnotations system.
  • Key Features:
    • NotDefaultAttribute β€” works on any struct (Guid, DateTime, int, etc.)
    • Null-safe: integrates cleanly with [Required] if needed
    • Supports IOptions<T>, domain models, and DTOs
  • Use Cases: Domain validation, configuration binding, API model validation
  • NuGet: View Package
  • Status: 🟒 Stable

3. ConnectSoft.Extensions.Options

  • Purpose: Provides a standardized extension method for registering and validating options with dependency injection. Encapsulates the common pattern used across all ConnectSoft libraries and templates for options registration.
  • Key Features:
    • Configuration binding with strict validation (ErrorOnUnknownConfiguration = true)
    • DataAnnotations validation (automatic validation of [Required], [Range], etc.)
    • Custom validator support via IValidateOptions<TOptions>
    • Fail-fast validation on startup
    • Singleton validator registration with auto-activation
  • Use Cases: Options registration in ConnectSoft libraries, configuration validation in templates, standardized options pattern across projects, eliminating code duplication
  • Framework: .NET 8 and .NET 9
  • NuGet: View Package
  • Source: Repository
  • Status: 🟒 Stable

4. ConnectSoft.Extensions.Localization

  • Purpose: Provides reusable localization functionality for .NET applications. Enables configuration and use of .NET's built-in localization infrastructure with strongly-typed options, validation, and a clean API.
  • Key Features:
    • Strongly-typed IOptions<T>-based configuration
    • Options validation with DataAnnotations
    • Automatic ResourceManagerStringLocalizerFactory registration
    • Configurable supported cultures and UI cultures
    • Parent culture fallback support
    • Response header culture application
    • Uses ConnectSoft.Extensions.Options for standardized options registration
  • Use Cases: Multi-language web applications, internationalization (i18n) support, localized resource management, culture-aware applications, multi-tenant SaaS applications with localization
  • Framework: .NET 8 and .NET 9
  • NuGet: View Package
  • Source: Repository
  • Status: 🟒 Stable

5. ConnectSoft.Extensions.DatabaseModel

  • Purpose: Provides an abstraction layer for managing and provisioning database instances.
  • Key Features:
    • IDatabaseHelper interface for cross-database operations: creation, schema setup, SQL execution
    • Core interface, no database-specific logic
  • Use Cases: Infrastructure initialization, CI/CD provisioning, tenant setup
  • NuGet: View Package
  • Status: 🟒 Stable

πŸ”Œ Implementors


6. ConnectSoft.Extensions.Globalization

  • Purpose: Provides utilities and calendar extensions for working with the Jewish calendar and Hebrew characters.
  • Key Features:
    • Gregorian ⇄ Jewish date conversions
    • Jewish holiday recognition
    • Leap year and day-of-week calculations
    • Hebrew character classification (letters, finals, etc.)
  • Use Cases: Localization engines, religious calendar support, Hebrew text analysis
  • NuGet: View Package
  • Status: 🟒 Stable

7. ConnectSoft.Extensions.MessagingModel

A messaging-agnostic abstraction that defines base interfaces for event-driven communication patterns. Purpose: Acts as the foundation for messaging libraries, providing core contracts like ICommand, IEvent, and IEventBus. Framework: .NET 8 and .NET 9 NuGet: ConnectSoft.Extensions.MessagingModel Source: Repository Status: 🟒 Stable Implementations:

  • βœ… ConnectSoft.Extensions.MessagingModel.NServiceBus
  • βœ… ConnectSoft.Extensions.MessagingModel.MassTransit

8. ConnectSoft.Extensions.MessagingModel.MassTransit

MassTransit-based implementation of the ConnectSoft messaging model abstraction. Purpose: Bridges IEventBus with MassTransit APIs for command and event messaging. Framework: .NET 8 and .NET 9 NuGet: ConnectSoft.Extensions.MessagingModel.MassTransit Source: Repository


9. ConnectSoft.ExtensionsMessagingModel.NServiceBus

NServiceBus-based implementation of the ConnectSoft messaging model abstraction. Purpose: Bridges IEventBus with NServiceBus APIs; includes extra utilities like DI extensions and header propagation. Framework: .NET 8 and .NET 9 NuGet: ConnectSoft.ExtensionsMessagingModel.NServiceBus Source: Repository


10. ConnectSoft.Extensions.EntityModel

Comprehensive modeling base for Domain-Driven Design (DDD) in .NET applications.
Purpose: Provides base contracts for entities, value objects, aggregate roots, and rich enumerations. Enables consistent modeling patterns across bounded contexts.
Framework: .NET 8 and .NET 9
NuGet: ConnectSoft.Extensions.EntityModel
Source: Repository


11. ConnectSoft.Extensions.DomainModel

Foundation for implementing Domain Services and Use Case handlers based on Domain-Driven Design (DDD), Clean Architecture, and Hexagonal Architecture principles. Purpose: Supports separation of concerns by defining contracts for IDomainService and IUseCase<TInput, TOutput>; enables maintainable, testable application cores. Framework: .NET 8 and .NET 9 NuGet: ConnectSoft.Extensions.DomainModel Source: Repository


12. ConnectSoft.Extensions.DomainModel.Impl

πŸ› οΈ Under Construction Implementation-ready shell for domain modeling components (IDomainService, IUseCase, etc.) defined in ConnectSoft.Extensions.DomainModel.
Purpose: Serves as the starting point for internal or shared domain service implementations that extend base contracts.
Framework: .NET 8 and .NET 9
NuGet: ConnectSoft.Extensions.DomainModel.Impl
Source: Repository


13. ConnectSoft.Extensions.Transactions

Lightweight abstraction for managing transactional boundaries in a clean and testable manner.
Purpose: Centralizes ITransaction and TransactionScopeTransaction handling in a consistent interface across persistence strategies.
Framework: .NET 8 and .NET 9
NuGet: ConnectSoft.Extensions.Transactions
Source: Repository


14. ConnectSoft.Extensions.PersistenceModel

Data source–agnostic abstraction for persistence patterns such as repository, unit of work, specifications, and queries. Designed for use with DDD and clean architecture approaches.
Purpose: Provides consistent and testable data access APIs over any backing store. Built on top of ConnectSoft.Extensions.EntityModel.
Framework: .NET 8 and .NET 9
NuGet: ConnectSoft.Extensions.PersistenceModel
Source: Repository


15. ConnectSoft.Extensions.PersistenceModel.DependencyInjection

Dependency injection extensions for the ConnectSoft persistence model. Purpose: Provides Microsoft.Extensions.DependencyInjection–based implementations of key infrastructure components:


16. ConnectSoft.Extensions.PersistenceModel.NHibernate

NHibernate-based implementation of the ConnectSoft persistence model abstraction.
Purpose: Enables full repository, unit of work, query, and specification patterns using NHibernate; includes logging, transient tracking, enumeration mapping, and DI support.
Framework: .NET 8 and .NET 9
NuGet: ConnectSoft.Extensions.PersistenceModel.NHibernate
Source: Repository


17. ConnectSoft.Extensions.PersistenceModel.MongoDb

MongoDB-based implementation of the ConnectSoft persistence model abstraction.
Purpose: Provides enterprise-grade data access patterns for MongoDB including repository, unit of work, specification patterns, transaction support, migration framework, and built-in observability with OpenTelemetry tracing.
Framework: .NET 8 and .NET 9
NuGet: ConnectSoft.Extensions.PersistenceModel.MongoDb
Source: Repository
Status: 🟒 Stable


18. ConnectSoft.Extensions.ServiceModel

Communication-agnostic base library for structured service contracts, fault handling, and interoperable message definitions.
Purpose: Defines fault contracts, service/message wrappers, and metadata for use across WCF, REST, gRPC, CoreWCF, Orleans, and Service Fabric.
Framework: .NET 8 and .NET 9
NuGet: ConnectSoft.Extensions.ServiceModel
Source: Repository


19. ConnectSoft.Text.Json

Extension library built on System.Text.Json to enhance enum serialization, formatting, and deserialization behaviors.
Purpose: Supports [EnumMember(Value = "...")], improves compatibility with external APIs, and simplifies JSON configuration.
Framework: .NET 8 and .NET 9
NuGet: ConnectSoft.Text.Json
Source: Repository


20. ConnectSoft.Extensions.Http.OAuth2

Extensible, DI-based library for OAuth 2.0 token acquisition and management in .NET 8 and .NET 9.
Purpose: Supports multiple grant types (client credentials, password, refresh), named clients, token caching, ID token validation, and test automation with WireMock.
Framework: .NET 8 and .NET 9
NuGet: ConnectSoft.Extensions.Http.OAuth2
Source: Repository


21. ConnectSoft.Net.Http

Extension utilities for working with HttpClient in .NET.
Purpose: Adds missing methods like DeleteAsJsonAsync, and includes SubdirectoryHandler for reverse proxy URL rewriting β€” useful in gRPC or IIS-hosted services.
Framework: .NET 8 and .NET 9
NuGet: ConnectSoft.Net.Http
Source: Repository


22. ConnectSoft.Extensions.Compliance

Reusable compliance/redaction library that standardizes data classification and data redaction across ConnectSoft services.
Purpose: Wraps and extends Microsoft.Extensions.Compliance.* with shared taxonomy, custom redactors (Email, Phone, PAN, JWT, IP, GUID, Secret), structured logging integration, and configurable profiles (default/audit/strict).
Framework: .NET 8 and .NET 9
NuGet: ConnectSoft.Extensions.Compliance
Source: Repository
Status: 🟒 Stable


23. ConnectSoft.Extensions.Diagnostics.HealthChecks

Shared, template-agnostic building blocks for .NET health checks used across ConnectSoft services.
Purpose: Provides reusable infrastructure for implementing health checks, including DelegateHealthCheck for lightweight health checks and validated options.
Framework: .NET 8 and .NET 9
NuGet: ConnectSoft.Extensions.Diagnostics.HealthChecks
Source: Repository
Status: 🟒 Stable

πŸ”Œ Implementors


24. ConnectSoft.Extensions.Diagnostics.HealthChecks.SignalR

SignalR-specific health checks for monitoring hub connectivity in .NET applications.
Purpose: Automatically discovers SignalR hub endpoints, creates client connections to verify connectivity, and integrates with ASP.NET Core's health checks system.
Framework: .NET 8 and .NET 9
NuGet: ConnectSoft.Extensions.Diagnostics.HealthChecks.SignalR
Source: Repository
Status: 🟒 Stable


25. ConnectSoft.Extensions.Diagnostics.HealthChecks.Orleans

Orleans-specific health checks for monitoring cluster, silo, grain, and storage health in Orleans-based applications.
Purpose: Provides production-ready health checks for Orleans clusters, including cluster status, silo health, grain activation, storage connectivity, and Azure storage health checks (Table Storage clustering, Blob Storage persistence).
Framework: .NET 8 and .NET 9
NuGet: ConnectSoft.Extensions.Diagnostics.HealthChecks.Orleans
Source: Repository
Status: 🟒 Stable


26. ConnectSoft.Extensions.AspNetCore

ASP.NET Core extensions for common web application scenarios.
Purpose: Provides Server-Timing middleware for performance metrics, AJAX request detection, local request identification, and other ASP.NET Core utilities.
Framework: .NET 6, .NET 8, and .NET 9
NuGet: ConnectSoft.Extensions.AspNetCore
Source: Repository
Status: 🟒 Stable


27. ConnectSoft.Extensions.ServiceModel.Grpc

gRPC-based service communication implementation with code-first approach.
Purpose: Provides gRPC service hosting with code-first approach (no .proto files), exception handling, interceptors, fault contract transformation, JSON marshalling, and Brotli compression support.
Framework: .NET 8 and .NET 9
NuGet: ConnectSoft.Extensions.ServiceModel.Grpc
Source: Repository
Status: 🟒 Stable


28. ConnectSoft.Extensions.ServiceModel.Grpc.Client

gRPC client implementation for consuming gRPC services with code-first approach.
Purpose: Provides gRPC client functionality for consuming services built with ConnectSoft.Extensions.ServiceModel.Grpc, supporting code-first approach without .proto files.
Framework: .NET 8 and .NET 9
NuGet: ConnectSoft.Extensions.ServiceModel.Grpc.Client
Source: Repository
Status: 🟒 Stable


Stay tuned for more reusable and production-ready components.
For templates that integrate these libraries, see ConnectSoft Templates.