Обработка исключений в Biztalk 2006 R2
-
20-09-2019 - |
Вопрос
У меня есть проект Biztalk 2006 R2 (используется с руководством ESB 1) Я звоню из оркстрации к статическому методу в коде C#, этот метод использует класс для загрузки данных файла в корпус сообщений xlang в части 0, когда я передаю FilePath, который выполняет Это существует, внутренний класс поймал исключение, но не бросайте его (в статическом методе есть блок улова, и в саду существует реальная обработка исключения)
Статический метод:
public static XLANGMessage LoadFileIntoMessage(XLANGMessage message, string filePath,Encoding encoding)
{
try
{
IStreamFactory sf = new FileStreamFactory(filePath,encoding);
message[0].LoadFrom(sf);
return message;
}
catch (Exception ex)
{
throw ex;
}
}
Класс, который загружает поток файла:
private class FileStreamFactory : IStreamFactory
{
string _fname;
Encoding _encoding;
public FileStreamFactory(string fname,Encoding encoding)
{
_fname = fname;
_encoding = encoding;
}
public Stream CreateStream()
{
try
{
StreamReader sr;
sr = new StreamReader
(
_fname,
_encoding
);
return sr.BaseStream;
}
catch (Exception ex)
{
throw ex;
}
}
}
Я называю статический метод из оркестровки и ожидаю поймать исключение в моей оркестровке после класса, и метод получает его.
Решение
Я не уверен, каков фактический вопрос ... Вы говорите о том, как поймать исключение в оркестровке? Как заставить его перейти в систему обработки исключений ESB или как?
Чтобы обработать исключение в оркестровке, вам необходимо использовать форму прицела (где вы помещаете в код/фигуры, которые могут бросить исключение), а затем добавить к нему обработчик исключений (вроде как блок Try/Catch).
Для материала ESB см. Здесь: http://msdn.microsoft.com/en-us/library/ee250235(v=bts.10).aspx
Наконец, позвольте мне сказать: пожалуйста, не обращайтесь к исключениям, как вы уже делаете в своем коде. Вы не должны ловить исключение, чтобы просто бросить его снова. Это очень плохая практика программирования, она наносит ущерб производительности, и это также заставит вас потерять исходный след стека исключения, что затрудняет диагностику и решает любые проблемы. Видеть http://winterdom.com/2002/09/RethRoingExceptionsInc