Странное поведение с классами uri и WebClient в пакете SSIS

У меня довольно странная ситуация.

У меня очень простой пакет:

enter image description here

  • Задача "получить список" извлекает таблицу данных из сборки с одним столбец и список URL-адресов, которые нужно запустить в объектную переменную.
  • Цикл foreach перебирает объектную переменную и загружает URL-адрес в строковую переменную URL-адреса
  • «Выполнить» вызывает URL-адрес с этим кодом (это 2005 год, поэтому я застрял с VB):

    Dim myURI As New Uri("http://" + Dts.Variables("URL").Value.ToString())
    Dim myWebClient как новый System.Net.WebClient
    myWebClient.OpenReadAsync(мойURI)
    

вызываемый URL-адрес является внутренним и просто считывает параметры и выполняет серию операций, которые занимают некоторое время, поэтому я использовал «OpenReadAsync»

Моя проблема: если у меня есть 4 URL-адреса для запуска, пакет запускается только 2 из них. Цикл повторяется 4 раза, скрипт вызывается 4 раза (я вижу, отлаживаю ли я его), строка myWebClient.OpenReadAsync(myURI)выполняется 4 раза с 4 разными значениями, но только 2 вызова URL-адрес сделан.

Если я снова запускаю пакет, теперь вызываются два других URL-адреса, что доказывает, что с URL-адресом все в порядке, и если я вызываю 4 URL-адреса вручную в браузере (например, на 4 вкладках), один правильный за другим все они дают ожидаемый результат, что доказывает, что в коде, анализирующем URL, нет ничего плохого.

Итак, я остался с кодом VB, я впервые использую uri и WebClient, поэтому мне интересно, не делаю ли я что-то не так. Я также пытался добавить 5-секундный сон между звонками, но безуспешно.

Будем признательны за любую помощь. Спасибо

5
задан Panagiotis Kanavos 5 June 2012 в 12:02
поделиться