Мы используем библиотеку Microsoft.Samples.BizTalk.Adapter.Common для нашего настраиваемого адаптера приема SMTP.Кажется, все хорошо, кроме одной ситуации.Сообщение застревает, если оно превышает приблизительно 5 МБ и содержит более двух вложений.Наш адаптер работает на 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");
}