Релиз библиотеки-помощника нового поколения для C# / .NET

Автор: | 09.08.2026

Сегодня мы рады объявить о доступности новой версии библиотеки-помощника для C#. Готовьтесь к новому уровню продуктивности.

C# стал последним дополнением к семейству библиотек-помощников нового поколения от Twilio, наряду с недавно выпущенными библиотеками для PHP и Java. Мы полностью переработали библиотеку для C#, учтя отзывы сообщества .NET-разработчиков.

Чтобы узнать больше о нашем инновационном подходе к созданию более согласованных библиотек-помощников, ускорению итераций и улучшению библиотек за счет общей основы для разных языков, ознакомьтесь с нашим блог-постом, посвященным библиотекам-помощникам нового поколения от Twilio.

Следующим языком, для которого мы выпустим библиотеку, станет Python, но сначала давайте подробнее рассмотрим C#.

Библиотека-помощник Twilio для C# стала более интуитивно понятной и получила расширенную совместимость с фреймворками.

Основные улучшения в новой библиотеке:

— Полная кроссплатформенная поддержка .NET Core (.NET Standard 1.4)

— Поддержка async/await

— Автоматическая постраничная загрузка при запросе списка ресурсов

— Добавление вспомогательных классов для генерации TwiML

— Сохранена совместимость вплоть до версии .NET Framework 3.5

Мы приложили все усилия, чтобы новая библиотека была совместима с широким спектром платформ .NET, особенно с .NET Standard 1.4. Мы не смогли бы этого добиться без помощи сообщества .NET, в частности Гутенберга Рибейро из Бразилии, который помог нам разобраться с новой системой сборки .NET, чтобы мы могли ориентироваться как на .NET Standard, так и на версию 3.5.

Поддержка .NET Standard означает, что библиотеку-помощник Twilio для C# можно использовать с кроссплатформенными приложениями .NET Core, а это значит, что все примеры кода из нашей документации будут работать на Mac и Linux, помимо Windows.

Кстати, о примерах — давайте рассмотрим некоторые из них.

Инициализация клиента для будущих вызовов REST API теперь выполняется с помощью статического метода. Нет необходимости создавать объект клиента.

Это нужно сделать только один раз. Все последующие вызовы API Twilio будут аутентифицированы с использованием учетных данных, переданных в метод Init. На самом деле, в .NET 4.5.1 и выше (включая .NET Core) это создает статический HttpClient, который будет повторно использоваться для всех ваших запросов к API (перевод: выполнение нескольких запросов к API станет намного быстрее).

Каждому ресурсу в REST API Twilio соответствует класс на C#. Хотите работать с SMS-сообщениями? Вам нужен класс MessageResource. Телефонные звонки? Обратите внимание на CallResource.

Каждый класс ресурса имеет набор статических методов:

— Fetch: Получает экземпляр ресурса

— Create: Создает новый экземпляр ресурса

— Update: Изменяет экземпляр ресурса

— Delete: Удаляет экземпляр ресурса

— Read: Выводит список экземпляров ресурса

Если метод не поддерживается Twilio для данного ресурса, он исключается из класса.

В предыдущих версиях библиотеки-помощника вам приходилось заботиться о постраничной загрузке. Вы получали одну страницу результатов, а затем продолжали запрашивать страницы, пока не получали все необходимые ресурсы. Теперь постраничная загрузка обрабатывается автоматически.

Чтобы узнать больше о том, как используются классы ресурсов, ознакомьтесь с руководством по миграции для C#.

Если вы используете .NET Framework 4.5.1+ или .NET Core 1.0+, то можете использовать асинхронные версии методов Create, Fetch, Read, Update и Delete для ресурсов. Как и следовало ожидать, эти методы называются CreateAsync, FetchAsync, ReadAsync, UpdateAsync и DeleteAsync.

В Twilio C# SDK теперь включены вспомогательные классы для генерации TwiML. Существует два класса, которые можно использовать для генерации TwiML: Twilio.TwiML.VoiceResponse и Twilio.TwiML.MessagingResponse. Первый используется для обработки голосовых вызовов, а второй — для ответов на текстовые сообщения.

Чтобы написать TwiML для обработки телефонного звонка, просто создайте экземпляр класса VoiceResponse и вызовите методы нового объекта, соответствующие различным глаголам TwiML. Например, вот код, который воспроизводит приветствие и затем соединяет звонок с другим номером телефона:

Вы можете вызвать response.ToString(), чтобы получить следующий вывод TwiML:

Существует несколько отличных ресурсов, которые помогут вам начать работу с новой библиотекой:

— Руководство по началу работы, которое охватывает установку и отправку первого сообщения.

— Наши руководства и учебные материалы содержат примеры кода для различных сценариев использования.

— Автоматически сгенерированная документация библиотеки — полезный справочный материал.

— Руководство по миграции особенно полезно, если вы знакомы с предыдущей версией. Оно охватывает некоторые новые функции и подчеркивает различия.

Новые библиотеки выпускаются в двух версиях в соответствии с нашей стратегией версионирования:

— Основная версия, содержащая наши продукты общедоступной версии (GA) и являющаяся наиболее стабильным релизом

— Версия ‘edge’, которая включает новые функции, находящиеся на стадии Developer Preview или Beta. Здесь вы можете найти более подробное описание нашей стратегии версионирования.

Новые функции будут добавляться только в новые библиотеки (C# 5.x). Старые библиотеки (C# 4.x) будут официально поддерживаться до 31.05.2017. После этой даты Twilio перестанет предоставлять исправления ошибок, и служба поддержки может попросить вас обновиться перед отладкой проблем.

Нам очень важна ваша обратная связь по нашим другим кандидатам на релиз. Они доступны на GitHub, и мы будем рады вашим тикетам с проблемами и запросам на включение изменений.