消息困扰(Microsoft.Samples.BizTalk.Adapter.Common)

时间:2012-01-26 06:35:40

标签: biztalk

我们将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");
                }

1 个答案:

答案 0 :(得分:1)

此修复:http://support.microsoft.com/kb/928078有助于解决问题。谢谢大家。