Tisa.XrmCore
2025.9.9.410
dotnet add package Tisa.XrmCore --version 2025.9.9.410
NuGet\Install-Package Tisa.XrmCore -Version 2025.9.9.410
<PackageReference Include="Tisa.XrmCore" Version="2025.9.9.410" />
<PackageVersion Include="Tisa.XrmCore" Version="2025.9.9.410" />
<PackageReference Include="Tisa.XrmCore" />
paket add Tisa.XrmCore --version 2025.9.9.410
#r "nuget: Tisa.XrmCore, 2025.9.9.410"
#addin nuget:?package=Tisa.XrmCore&version=2025.9.9.410
#tool nuget:?package=Tisa.XrmCore&version=2025.9.9.410
Tisa.XrmCore
Описание
Tisa.XrmCore - это библиотека для .NET, предоставляющая клиент, совместимый с WS-Trust, для подключения к локальным экземплярам IFD Dynamics 365 из .NET Core. Библиотека создана на основе Microsoft.PowerPlatform.Dataverse.Client и предлагает альтернативную реализацию IOrganizationService с использованием WS-Trust.
Основные возможности
- Подключение к Dynamics 365 по URL-адресу службы организации
- Аутентификация с использованием имени пользователя и пароля
- Поддержка WS-Trust протокола
- Асинхронные операции
- Поддержка .NET 8.0 и .NET 9.0
Установка
dotnet add package Tisa.XrmCore
Быстрый старт
using Tisa.XrmCore;
// Создание клиента для локального подключения
var client = new OnPremiseClient(
organizationUrl: "https://your-org.crm.dynamics.com",
username: "your-username",
password: "your-password"
);
// Асинхронное подключение
await client.ConnectAsync();
// Использование клиента
var response = await client.ExecuteAsync(new WhoAmIRequest());
Поддерживаемые сценарии аутентификации
Локальное подключение (On-Premise)
var client = new OnPremiseClient(
organizationUrl: "https://your-org.crm.dynamics.com",
username: "your-username",
password: "your-password"
);
AD Аутентификация
var client = new ADAuthClient(
organizationUrl: "https://your-org.crm.dynamics.com",
domain: "your-domain",
username: "your-username",
password: "your-password"
);
Claims-Based Аутентификация
var client = new ClaimsBasedAuthClient(
organizationUrl: "https://your-org.crm.dynamics.com",
username: "your-username",
password: "your-password"
);
Расширенные возможности
Асинхронные операции
// Создание записи
var entity = new Entity("account");
entity["name"] = "Test Account";
var createResponse = await client.CreateAsync(entity);
// Обновление записи
entity["name"] = "Updated Account";
await client.UpdateAsync(entity);
// Удаление записи
await client.DeleteAsync("account", createResponse);
Обработка ошибок
try
{
await client.ConnectAsync();
}
catch (XrmException ex)
{
// Обработка ошибок подключения
Console.WriteLine($"Ошибка подключения: {ex.Message}");
}
Требования
- .NET 8.0 или .NET 9.0
- Microsoft.PowerPlatform.Dataverse.Client 1.2.3 или выше
- Microsoft.IdentityModel.Protocols.WsTrust 6.8.0 или выше
Безопасность
При использовании библиотеки убедитесь, что:
- Используются безопасные методы хранения учетных данных
- Применяются последние обновления безопасности
- Соблюдаются рекомендации по безопасности Dynamics 365
Примеры использования
Создание и обновление записей
// Создание новой записи
var account = new Entity("account");
account["name"] = "Test Company";
account["telephone1"] = "123-456-7890";
var accountId = await client.CreateAsync(account);
// Обновление записи
account["name"] = "Updated Company";
await client.UpdateAsync(account);
Выполнение запросов
// Получение записей
var query = new QueryExpression("account");
query.ColumnSet = new ColumnSet("name", "telephone1");
var results = await client.RetrieveMultipleAsync(query);
foreach (var entity in results.Entities)
{
Console.WriteLine($"Account: {entity["name"]}, Phone: {entity["telephone1"]}");
}
Рекомендации по использованию
- Всегда используйте асинхронные методы для операций с CRM
- Реализуйте правильную обработку ошибок
- Используйте пулы подключений для оптимизации производительности
- Следите за обновлениями библиотеки
- Регулярно проверяйте логи на наличие ошибок
Отладка
Для отладки подключения можно использовать следующие методы:
// Включение подробного логирования
client.EnableTracing = true;
// Получение последней ошибки
var lastError = client.LastError;
Известные ограничения
- Поддерживается только WS-Trust аутентификация
- Требуется доступ к URL организации
- Не поддерживается OAuth аутентификация
Авторы
Команда разработчиков TISA
Лицензия
MIT License
Поддержка
Для получения поддержки или сообщения об ошибках, пожалуйста, напишите нам на support@tisn.ru
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. |
-
net8.0
- Lindhart.Analyser.MissingAwaitWarning (>= 2.0.0)
- Microsoft.IdentityModel.Protocols.WsTrust (>= 6.8.0)
- Microsoft.PowerPlatform.Dataverse.Client (>= 1.2.5)
- System.ServiceModel.Federation (>= 8.1.2)
- System.ServiceModel.Primitives (>= 8.1.2)
- System.ServiceModel.Security (>= 6.0.0)
- Tisa.Common (>= 2025.9.9.410)
-
net9.0
- Lindhart.Analyser.MissingAwaitWarning (>= 2.0.0)
- Microsoft.IdentityModel.Protocols.WsTrust (>= 6.8.0)
- Microsoft.PowerPlatform.Dataverse.Client (>= 1.2.5)
- System.ServiceModel.Federation (>= 8.1.2)
- System.ServiceModel.Primitives (>= 8.1.2)
- System.ServiceModel.Security (>= 6.0.0)
- Tisa.Common (>= 2025.9.9.410)
NuGet packages (1)
Showing the top 1 NuGet packages that depend on Tisa.XrmCore:
Package | Downloads |
---|---|
Tisa.XrmApp
Базовые классы и компоненты приложений ТИСА для работы с использованием NetCore. |
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated | |
---|---|---|---|
2025.9.9.410 | 160 | 4/9/2025 | |
2025.9.9.400 | 249 | 4/8/2025 |