Soenneker.Twilio.RestClient
4.0.2724
Prefix Reserved
See the version list below for details.
dotnet add package Soenneker.Twilio.RestClient --version 4.0.2724
NuGet\Install-Package Soenneker.Twilio.RestClient -Version 4.0.2724
<PackageReference Include="Soenneker.Twilio.RestClient" Version="4.0.2724" />
<PackageVersion Include="Soenneker.Twilio.RestClient" Version="4.0.2724" />
<PackageReference Include="Soenneker.Twilio.RestClient" />
paket add Soenneker.Twilio.RestClient --version 4.0.2724
#r "nuget: Soenneker.Twilio.RestClient, 4.0.2724"
#:package Soenneker.Twilio.RestClient@4.0.2724
#addin nuget:?package=Soenneker.Twilio.RestClient&version=4.0.2724
#tool nuget:?package=Soenneker.Twilio.RestClient&version=4.0.2724
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.889)
- Soenneker.Utils.HttpClientCache (>= 4.0.2076)
- 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.2738 | 64 | 9/17/2026 |
| 4.0.2737 | 60 | 9/16/2026 |
| 4.0.2736 | 60 | 9/16/2026 |
| 4.0.2735 | 59 | 9/16/2026 |
| 4.0.2734 | 67 | 9/16/2026 |
| 4.0.2733 | 73 | 9/16/2026 |
| 4.0.2732 | 75 | 9/15/2026 |
| 4.0.2731 | 73 | 9/15/2026 |
| 4.0.2730 | 74 | 9/15/2026 |
| 4.0.2729 | 80 | 9/13/2026 |
| 4.0.2728 | 85 | 9/13/2026 |
| 4.0.2727 | 84 | 9/13/2026 |
| 4.0.2726 | 87 | 9/13/2026 |
| 4.0.2725 | 84 | 9/13/2026 |
| 4.0.2724 | 87 | 9/13/2026 |
| 4.0.2723 | 85 | 9/13/2026 |
| 4.0.2722 | 95 | 9/12/2026 |
| 4.0.2721 | 85 | 9/12/2026 |
| 4.0.2717 | 85 | 9/10/2026 |
| 4.0.2716 | 90 | 9/9/2026 |
Update dependency Soenneker.Extensions.Configuration to 4.0.889 (#3261)