Biztalk 2006 R2 프로젝트 (ESB Guidance 1에서 사용) orchstration에서 C# 코드의 정적 메서드로 호출하는 중입니다.이 메서드는 클래스를 사용하여 xlang 메시지에 파일 데이터를로드합니다. body at part 0 내부 클래스가 존재하지 않는 filepath를 전달할 때 예외를 catch하지만 throw하지 않습니다 (정적 메서드에는 catch 블록이 있고 orchstration에는 예외 처리가 있습니다)biztalk의 예외 처리 2006 R2
정적 메소드는 :
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;
}
}
}
나는 오케스트레이션에서 정적 메서드를 호출하고 클래스 및 메서드가 가져온 후에 내 오케스트레이션에서 예외를 catch 할 것으로 예상합니다.
답장을 보내 주셔서 감사합니다. 디버그에서 볼 수 있도록 예외를 잡아서 왜이 코드를 볼 수 있습니까? 문제는 클래스 (두 번째 코드 링크)에서 예외가 발생하고 orch가 catch (메서드가 catch해야 함) 후에 발생하지만 해당 메서드에서 오류가 발생하면 orch가 catch하고 처리합니다. 나는 orchstration에서 ascope를 사용하고 책 (이 시스템은 지금까지이 오류를 제외하고 생산 alredady와 완벽하게 작동하고 있음)에 의해 excption 처리를 구축합니다. Thanks –