Indice.Services
8.41.0
dotnet add package Indice.Services --version 8.41.0
NuGet\Install-Package Indice.Services -Version 8.41.0
<PackageReference Include="Indice.Services" Version="8.41.0" />
<PackageVersion Include="Indice.Services" Version="8.41.0" />
<PackageReference Include="Indice.Services" />
paket add Indice.Services --version 8.41.0
#r "nuget: Indice.Services, 8.41.0"
#:package Indice.Services@8.41.0
#addin nuget:?package=Indice.Services&version=8.41.0
#tool nuget:?package=Indice.Services&version=8.41.0
Indice.Services
A comprehensive library of infrastructure service abstractions and implementations for .NET applications. This package provides production-ready integrations with Azure services and popular third-party providers for common application needs.
Installation
dotnet add package Indice.Services
Features
📁 File Storage
Store and retrieve files using different backing stores:
| Implementation | Description |
|---|---|
FileServiceAzureStorage |
Azure Blob Storage |
FileServiceLocal |
Local file system |
FileServiceInMemory |
In-memory (for testing) |
// Azure Blob Storage
services.AddFilesAzure(options => {
options.ConnectionStringName = "StorageConnection";
options.ContainerName = "my-container";
});
// Local file system
services.AddFilesLocal(options => {
options.Path = "uploads";
});
📧 Email Services
Send emails through various providers with template rendering support:
| Provider | Service Name |
|---|---|
| SMTP | EmailServiceSmtp |
| SendGrid | EmailServiceSendGrid |
| SparkPost | EmailServiceSparkpost |
| Brevo (Sendinblue) | EmailServiceBrevo |
// Auto-discover provider from configuration
services.AddEmailService(configuration);
Configuration (appsettings.json):
{
"Email": {
"Provider": "smtp",
"Sender": "noreply@example.com",
"SenderName": "My App",
"SmtpHost": "smtp.example.com",
"SmtpPort": 587
}
}
📱 SMS Services
Send SMS messages through multiple gateway providers:
| Provider | Implementation |
|---|---|
| Apifon | SmsServiceApifon |
| Apifon IM | SmsServiceApifonIM |
| KapaTEL | SmsServiceKapaTEL |
| Mstat | SmsServiceMstat |
| SmsUP | SmsServiceSmsUP |
| Twilio | SmsServiceTwilio |
| Vonage | SmsServiceVonage |
| Yuboto | SmsServiceYuboto |
| Yuboto Omni | SmsServiceYubotoOmni |
| Yuboto Viber | SmsServiceYubotoOmniViber |
services.AddSmsServiceApifon(configuration);
🔔 Push Notifications
Send push notifications via Azure Notification Hubs:
services.AddPushNotificationServiceAzure((sp, options) => {
options.ConnectionString = "your-connection-string";
options.NotificationHubPath = "your-hub-name";
});
📤 Event Dispatching
Dispatch events asynchronously using queue-based messaging:
| Implementation | Backing Store |
|---|---|
EventDispatcherAzure |
Azure Queue Storage |
EventDispatcherAzureServiceBus |
Azure Service Bus |
EventDispatcherInMemory |
In-memory (for testing) |
services.AddEventDispatcherAzure(configuration);
// Raise events
await eventDispatcher.RaiseEventAsync(new OrderCreatedEvent { OrderId = orderId });
🔒 Distributed Locking
Coordinate distributed operations using lease-based locking:
| Implementation | Backing Store |
|---|---|
LockManagerAzure |
Azure Blob Storage leases |
LockManagerInMemory |
In-memory (for testing) |
services.AddLockManagerAzure(configuration);
// Acquire and use a lock
await using var lease = await lockManager.AcquireLock("my-resource", TimeSpan.FromSeconds(30));
if (lease.IsAcquired) {
// Perform exclusive operation
}
📡 SignalR Proxy
Proxy SignalR connections through Azure SignalR Service:
services.AddSignalRProxyServices(configuration);
Configuration
Most services auto-configure from IConfiguration. Common connection string names:
| Service | Connection String Name |
|---|---|
| File Storage | StorageConnection |
| Event Dispatcher | StorageConnection |
| Lock Manager | StorageConnection |
| Service Bus | ServiceBusConnection |
Dependencies
- Azure.Storage.Blobs - Blob storage operations
- Azure.Storage.Queues - Queue storage operations
- Azure.Messaging.ServiceBus - Service Bus messaging
- MailKit - SMTP email sending
- Microsoft.Azure.NotificationHubs - Push notifications
- Microsoft.Azure.SignalR.Management - SignalR proxy
Target Frameworks
- .NET 8.0
- .NET 9.0
License
This project is licensed under the MIT License. See the LICENSE file for details.
Links
| 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 is compatible. 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. |
-
net8.0
- Azure.Messaging.ServiceBus (>= 7.20.1)
- Azure.Storage.Blobs (>= 12.27.0)
- Azure.Storage.Queues (>= 12.25.0)
- Indice.Common (>= 8.41.0)
- MailKit (>= 4.15.1)
- Microsoft.AspNetCore.WebUtilities (>= 8.0.23)
- Microsoft.Azure.NotificationHubs (>= 4.2.0)
- Microsoft.Azure.SignalR.Management (>= 1.33.0)
- Microsoft.Extensions.Hosting (>= 9.0.12)
- Microsoft.Extensions.Http (>= 9.0.12)
- Microsoft.Extensions.Http.Resilience (>= 9.10.0)
-
net9.0
- Azure.Messaging.ServiceBus (>= 7.20.1)
- Azure.Storage.Blobs (>= 12.27.0)
- Azure.Storage.Queues (>= 12.25.0)
- Indice.Common (>= 8.41.0)
- MailKit (>= 4.15.1)
- Microsoft.AspNetCore.WebUtilities (>= 9.0.12)
- Microsoft.Azure.NotificationHubs (>= 4.2.0)
- Microsoft.Azure.SignalR.Management (>= 1.33.0)
- Microsoft.Extensions.Hosting (>= 9.0.12)
- Microsoft.Extensions.Http (>= 9.0.12)
- Microsoft.Extensions.Http.Resilience (>= 9.10.0)
NuGet packages (8)
Showing the top 5 NuGet packages that depend on Indice.Services:
| Package | Downloads |
|---|---|
|
Indice.AspNetCore
Package Description |
|
|
Indice.Hosting
Package Description |
|
|
Indice.Features.Messages.Core
Package Description |
|
|
Indice.Features.Messages.Worker.Azure
Package Description |
|
|
Indice.Features.Multitenancy.Worker.Azure
Package Description |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 8.41.0 | 38 | 3/9/2026 |
| 8.40.0 | 90 | 3/6/2026 |
| 8.39.0 | 448 | 3/3/2026 |
| 8.38.0 | 894 | 2/17/2026 |
| 8.37.0 | 569 | 2/6/2026 |
| 8.36.0 | 945 | 1/28/2026 |
| 8.35.0 | 517 | 1/23/2026 |
| 8.34.0 | 524 | 1/19/2026 |
| 8.33.0 | 414 | 1/19/2026 |
| 8.32.0 | 925 | 1/13/2026 |
| 8.31.0 | 2,060 | 12/24/2025 |
| 8.30.0 | 1,488 | 12/18/2025 |
| 8.29.0 | 868 | 12/15/2025 |
| 8.28.0 | 618 | 12/15/2025 |
| 8.27.0 | 939 | 12/4/2025 |
| 8.26.0 | 1,969 | 11/18/2025 |
| 8.25.0 | 1,137 | 11/17/2025 |
| 8.24.0 | 1,007 | 11/13/2025 |
| 8.23.0 | 701 | 11/10/2025 |
| 8.22.0 | 1,407 | 11/7/2025 |