我们将Microsoft.Samples.BizTalk.Adapter.Common库用于我们的自定义SMTP接收适配器。除了一种情况,一切似乎都很好。如果消息大于约5 MB并且包含两个以上的附件,则消息会卡住。我们的适配器在isoletadHost上运行。在查询窗口中,我们看到消息保持活动状态。在我们的调查过程中,我们发现它停留在batch.Wait()方法中。任何其他消息处理得很好。我们正在运行Biztalk 2006 Standart。 任何人都可以向我们提出任何建议吗?
SyncReceiveSubmitBatch batch = new SyncReceiveSubmitBatch(transportProxy, terminator, 1); Int32 count = 0; foreach (IBaseMessage msg in messages) { try { batch.SubmitMessage(msg, null); count++; } catch (Exception ex) { try { msg.SetErrorInfo(ex); batch.MoveToSuspendQ(msg); ThreadContext.Properties["EventID"] = 1007; logger.Error("Submit Error", ex); } catch (Exception ex2) { ThreadContext.Properties["EventID"] = 1008; logger.Error("Suspend Error", ex2); } } } if (count != 0) { batch.Done(); if (batch.Wait()) { ThreadContext.Properties["EventID"] = 1009; logger.Debug("Messages publised"); } else { ThreadContext.Properties["EventID"] = 1010; logger.Warn(String.Format("Publish error. Sucssefully publised {1}, error in {0} messages", batch.FailedMessages.Count, count - batch.FailedMessages.Count)); } } else { ThreadContext.Properties["EventID"] = 1011; logger.Warn("No message found"); }