Могут ли задания SSIS быть асинхронными? - PullRequest
2 голосов
/ 05 апреля 2019

Я немного запутался в том, правильно ли работают методы async с заданием SSIS или нет.Элементы «Задача сценария» создают проект Visual Studio, предназначенный для .NET Framework 4.5, с типом вывода «Библиотека классов».

Если я задаю метод main public async void Main() и внутри него выполняю await вызовы против async методы, это действительно ждет?

Некоторые из постов, которые я здесь видел, подразумевают, что это так, а другие - нет.

1 Ответ

2 голосов
/ 08 апреля 2019

К сожалению, SSIS Framework и базовые классы .Net были созданы задолго до появления 4.5 Framework и его модели асинхронного выполнения.Вы должны реализовать методы SSIS, как они объявлены;объявление является классическим, а не асинхронным.
Когда мне нужно вызвать некоторые асинхронные методы внутри скриптов SSIS или пользовательских компонентов, я использую обертку Task.Run, как это

mRes=Task.Run(async () =>
    await AsyncMethod(...).ConfigureAwait(false)).Result;  

Возможно, это нелучший подход, но он позволяет запускать AsyncMethod на ThreadPool.
Вы получаете мало пользы от вызовов async в SSIS, поскольку инфраструктура SSIS сама по себе не готова к асинхронному .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...