π 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
DataAnnotationssystem. - Key Features:
NotDefaultAttributeβ works on anystruct(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
- Configuration binding with strict validation (
- 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
ResourceManagerStringLocalizerFactoryregistration - Configurable supported cultures and UI cultures
- Parent culture fallback support
- Response header culture application
- Uses
ConnectSoft.Extensions.Optionsfor standardized options registration
- Strongly-typed
- 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:
IDatabaseHelperinterface 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¶
-
ConnectSoft.Extensions.DatabaseModel.SqlServer
SQL Server implementation ofIDatabaseHelperusingSqlConnection. -
ConnectSoft.Extensions.DatabaseModel.PostgreSql
PostgreSQL implementation withNpgsqlConnection. -
ConnectSoft.Extensions.DatabaseModel.MySql
MySQL implementation usingMySqlConnector.
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:
IQueryBuilderβMicrosoftQueryBuilderISpecificationLocatorβMicrosoftSpecificationLocatorDesigned to seamlessly resolve queries and specifications for repositories via standard .NET DI. Framework: .NET 8 and .NET 9 NuGet: ConnectSoft.Extensions.PersistenceModel.DependencyInjection Source: Repository
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¶
-
ConnectSoft.Extensions.Diagnostics.HealthChecks.SignalR
SignalR-specific health checks for monitoring hub connectivity with automatic URL discovery. -
ConnectSoft.Extensions.Diagnostics.HealthChecks.Orleans
Orleans-specific health checks for monitoring cluster, silo, grain, and storage health.
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.