Soenneker.Twilio.RestClient
4.0.2717
Prefix Reserved
dotnet add package Soenneker.Twilio.RestClient --version 4.0.2717
NuGet\Install-Package Soenneker.Twilio.RestClient -Version 4.0.2717
<PackageReference Include="Soenneker.Twilio.RestClient" Version="4.0.2717" />
<PackageVersion Include="Soenneker.Twilio.RestClient" Version="4.0.2717" />
<PackageReference Include="Soenneker.Twilio.RestClient" />
paket add Soenneker.Twilio.RestClient --version 4.0.2717
#r "nuget: Soenneker.Twilio.RestClient, 4.0.2717"
#:package Soenneker.Twilio.RestClient@4.0.2717
#addin nuget:?package=Soenneker.Twilio.RestClient&version=4.0.2717
#tool nuget:?package=Soenneker.Twilio.RestClient&version=4.0.2717
Soenneker.Twilio.RestClient
Provides a cached, authenticated TwilioRestClient backed by a shared HttpClient.
Installation
dotnet add package Soenneker.Twilio.RestClient
Configuration
{
"Twilio": {
"AccountSid": "AC...",
"AuthToken": "..."
}
}
Registration
using Soenneker.Twilio.RestClient.Registrars;
services.AddTwilioRestClientUtilAsScoped();
Scoped registration creates a TwilioRestClient wrapper per scope while retaining the shared cached HTTP client when a scope ends. Use AddTwilioRestClientUtilAsSingleton() to share the wrapper too; disposing that singleton removes its cached HTTP client.
Send a message
using Soenneker.Twilio.RestClient.Abstract;
using Twilio.Clients;
using Twilio.Rest.Api.V2010.Account;
using Twilio.Types;
public sealed class MessageSender
{
private readonly ITwilioRestClientUtil _clients;
public MessageSender(ITwilioRestClientUtil clients)
{
_clients = clients;
}
public async ValueTask<string?> Send(string destination, string sender, string body)
{
TwilioRestClient client = await _clients.Get();
MessageResource message = await MessageResource.CreateAsync(
to: new PhoneNumber(destination),
from: new PhoneNumber(sender),
body: body,
client: client);
return message.Sid;
}
}
Pass the returned client explicitly to Twilio SDK resource methods. This avoids relying on the SDK's process-wide static TwilioClient state. Twilio API failures propagate as Twilio SDK exceptions.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 is compatible. 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. |
-
net10.0
- Soenneker.Extensions.Configuration (>= 4.0.883)
- Soenneker.Utils.HttpClientCache (>= 4.0.2070)
- Twilio (>= 8.0.1)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 4.0.2717 | 0 | 9/10/2026 |
| 4.0.2716 | 32 | 9/9/2026 |
| 4.0.2715 | 47 | 9/9/2026 |
| 4.0.2714 | 66 | 9/9/2026 |
| 4.0.2713 | 50 | 9/9/2026 |
| 4.0.2712 | 48 | 9/8/2026 |
| 4.0.2711 | 74 | 9/8/2026 |
| 4.0.2710 | 64 | 9/8/2026 |
| 4.0.2709 | 69 | 9/8/2026 |
| 4.0.2708 | 76 | 9/7/2026 |
| 4.0.2707 | 86 | 9/7/2026 |
| 4.0.2706 | 84 | 9/7/2026 |
| 4.0.2705 | 80 | 9/7/2026 |
| 4.0.2704 | 80 | 9/5/2026 |
| 4.0.2703 | 87 | 9/5/2026 |
| 4.0.2702 | 79 | 9/4/2026 |
| 4.0.2701 | 78 | 9/4/2026 |
| 4.0.2700 | 85 | 9/4/2026 |
| 4.0.2699 | 82 | 9/4/2026 |
| 4.0.2698 | 83 | 9/4/2026 |
Update dependency Twilio to 8.0.1 (#3253)