При подключении к Dynamics CRM генерируется DeviceAlreadyExists

Я создал консольную программу C#, которая создает отчет через Excel. Эта программа извлекает данные из Dynamics CRM 2013 и сравнивает данные с системой ERP. Программа выполняется через SQL-Agent и использует psexec для выполнения через сеть сервера.

Тем не менее, иногда при попытке инициализировать подключение к среде CRM программа завершается со следующей ошибкой:

Microsoft.Crm.Services.Utility.DeviceRegistrationFailedException: DeviceAlreadyExists: 0x80041132 в Microsoft.Crm.Services.Utility.DeviceIdManager.RegisterDevice(идентификатор приложения Guid, устройство Uri IssueUri, устройство LiveDevice) в приложении Microsoft.Crm.Service.Device, Uri IssueerUri, String deviceName, String devicePassword) в Microsoft.Crm.Services.Utility.DeviceIdManager.LoadOrRegisterDevice()

Я много об этом искал, но не могу найти никаких прямых причин для такого поведения. Это "определение" класса DeviceIdManager:

Класс DeviceIdManager демонстрирует, как управлять регистрацией вычислительных устройств с помощью Windows Live ID . Эта функциональность требуется при аутентификации с помощью Microsoft Dynamics CRM Online.

Класс DeviceIdManger регистрирует компьютерное устройство с идентификатором Windows Live ID посредством генерации идентификатора и пароля и сохраняет эту информацию в зашифрованном формате на локальном диске для последующего повторного использования. Регистрация устройства хранится в папке%USERPROFILE%\LiveDeviceID на вычислительном устройстве.

Основной метод класса для вызова из вашего кода - LoadOrRegisterDevice(). Посмотрите код класса ServerConnection для примера вызова этого метода.

Я контролировал, что "Регистрация устройства" хранится в правильной папке. Могу ли я как-то контролировать это поведение?

Заранее спасибо.

0 ответов

Другие вопросы по тегам