У меня есть место приема в моем проекте BizTalk 2010, и иногда это место приема получает пустой файл. Конвейер приема - PassThruReceive. Затем у нас есть порт отправки, который имеет фильтр для этого имени порта приема. Итак, все, что мы делаем, это перемещаем файл из места приема в место отправки.
Проблема, с которой я сталкиваюсь, заключается в том, что в случае, если мы получим пустой файл в месте приема, мой клиент хочет, чтобы файл по-прежнему перемещался в порт отправки. Я знаю, что из коробки адаптер FILE отбрасывает пустые файлы и записывает событие в журнал событий, в котором говорится, что он был удален.
Я следил за статьями, в которых показан настраиваемый адаптер FILE, выполняющий эту задачу. Я добился определенных успехов с этим нестандартным адаптером. Файл подхвачен. Получено BizTalk, и порт отправки успешно отправляет файл. Однако даже с этим решением я сталкиваюсь с проблемой на стороне приема, когда файл заблокирован и не может быть удален. Я слежу за различными статьями на эту тему, и каждый раз у меня возникает одна и та же проблема, когда файл заблокирован и не может быть удален.
У меня такой вопрос. Несмотря на то, что вызывается batchMessage.Message.BodyPart.Data.Close();
, поток все еще заблокирован. Есть ли у меня способ узнать, где еще BizTalk может заблокировать файл? Есть ли другой способ справиться с этим?
Одна из статей, за которыми я следил, находится здесь: http://biztalkwithshashikant.blogspot.com/2011/04/processing-empty-files-in-biztalk.html