Запись в удаленный MSMQ, похоже, работает вкл/выкл. Я не уверен, что не так, и что еще нужно сделать, чтобы подтвердить отправку.MessageQueue Quirks при отправке сообщений
Я не желаю устанавливать какую-либо сумму. Кажется, это перебор.
using (var queue = new MessageQueue(queueName, QueueAccessMode.Send))
{
var messageQueueTransaction = new MessageQueueTransaction();
messageQueueTransaction.Begin();
try
{
queue.Formatter = new XmlMessageFormatter(new Type[] { typeof(EmailMessage) });
var msg = new Message();
msg.Label = emailMessage.Subject;
msg.Body = emailMessage;
queue.Send(msg, messageQueueTransaction);
messageQueueTransaction.Commit();
}
catch (Exception e)
{
LoggerLib.Logger.ErrorException(e, "Error Sending Email using MSMQ", emailMessage);
messageQueueTransaction.Abort();
}
finally
{
queue.Close();
}
}
Строка соединения для MSMQ в формате: "FORMATNAME: DIRECT = OS: FULLMACHINENAME \ частный $ \ emailmessagequeue"
Кроме того, я использовал «FORMATNAME: DIRECT: TCP: IP-адрес \ частный $ \ emailmessagequeue».
Он работает без сбоев, когда я запускал его локально. Итак, я разрешил всем иметь полный доступ и все еще не работает.
Любые идеи?
Номер порта 1801 был заблокирован. Это разрешило это. – Sam
Пожалуйста, добавьте это как ответ на свой вопрос - тогда это поможет другим с той же проблемой, что и вы. Благодаря –