Временная проблема с MSMQ, при которой он генерирует System.IO.IOException
при отправке в очередь.По этой информации я не могу найти никакой информации, поэтому не уверен, почему это может произойти (документация MSDN даже не перечисляет эту проблему).Как уже говорилось, это прерывисто, поэтому отладка трудна и не происходит в среде разработчика (только в QA)
Трассировка стека:
at Microsoft.CSharp.CSharpCodeGenerator.FromSourceBatch(System.CodeDom.Compiler.CompilerParameters, System.String[])
at Microsoft.CSharp.CSharpCodeGenerator.System.CodeDom.Compiler.ICodeCompiler.CompileAssemblyFromSourceBatch(System.CodeDom.Compiler.CompilerParameters, System.String[])
at System.Xml.Serialization.Compiler.Compile(System.Reflection.Assembly, System.String, System.Xml.Serialization.XmlSerializerCompilerParameters, System.Security.Policy.Evidence)
at System.Xml.Serialization.TempAssembly.GenerateAssembly(System.Xml.Serialization.XmlMapping[], System.Type[], System.String, System.Security.Policy.Evidence, System.Xml.Serialization.XmlSerializerCompilerParameters, System.Reflection.Assembly, System.Collections.Hashtable)
at System.Xml.Serialization.TempAssembly..ctor(System.Xml.Serialization.XmlMapping[], System.Type[], System.String, System.String, System.Security.Policy.Evidence)
at System.Xml.Serialization.XmlSerializer..ctor(System.Type, System.String)
at System.Messaging.XmlMessageFormatter.Write(System.Messaging.Message, System.Object)
at System.Messaging.Message.AdjustToSend()
at System.Messaging.MessageQueue.SendInternal(System.Object, System.Messaging.MessageQueueTransaction, System.Messaging.MessageQueueTransactionType)
at Test.MSMQWrite.WriteMessageInternal(System.String, System.Object, Boolean)
at Test.Program.Main(System.String[])
Код для WriteMessageInternal:
private static void WriteMessageInternal(string queueName, object data)
{
using (var queue = new MessageQueue(queueName, false, false, QueueAccessMode.Send))
{
queue.Send(data);
}
}