我们如何处理 BizTalk 编排内部的错误,并使用 BizTalk 编排中的范围和表达式组件将日志文件写入单独的文件夹中?
有没有可能在不查看事件管理器的情况下编写错误文件的方法?
我们如何处理 BizTalk 编排内部的错误,并使用 BizTalk 编排中的范围和表达式组件将日志文件写入单独的文件夹中?
有没有可能在不查看事件管理器的情况下编写错误文件的方法?
BizTalk 业务流程中的异常处理非常简单。您可以将异常块添加到任何非原子范围,以便能够捕获任何异常(例如,General Exception、System.Exception、DivideByZeroException 等......
你的问题实际上有几个可能的答案。
第一个选择实际上是质疑你的方法。将错误写入日志文件真的有必要吗?例如,能够使用像 DebugView 这样的侦听器来 System.Diagnostics.Trace 错误可能就足够了吗?可以在此处找到有关此方法的示例:http: //dickvdbrink.github.io/c%23/2015/01/09/CSharp-Logging-using-Trace-and-DebugView.html
选项 2 是您可能正在寻找的:
选项 3 将更进一步:在您的业务流程中实施失败的消息路由。默认情况下,这只存在于接收端口和发送端口中,但您可以在自己的编排中模仿这种行为。您唯一需要做的就是将错误写入消息的上下文,并将 ErrorType 写入“FailedMessage”。我在这里找到了这种方法的一个例子:http: //blogs.objectsharp.com/post/2006/11/01/Failed-Message-Routing-and-Failed-Orchestration-Routing-in-BizTalk-2006.aspx
在我看来,选项 3 是最通用和可行的,因为选项 1 很可能需要您在调试模式下构建,而选项 2 不是一个非常通用/好的选项。
祝你好运。
好吧,如果发生错误,你可以做任何你想做的事情,但是......
您应该始终使用事件日志。将事件写入日志文件是非常糟糕的做法。
本文介绍如何正确使用 BizTalk 应用程序中的事件日志:使用事件日志登录 BizTalk 应用程序:良好做法
您不必总是创建自己的日志,只需创建自定义源。