Итак, я попытался отправить в общедоступную очередь, но она все еще не работала с использованием NLog Итак, я посмотрел на исходный код NLog.Extended и нашел этот метод.
protected override void Write(LogEventInfo logEvent)
{
if (this.Queue == null)
{
return;
}
string queue = this.Queue.Render(logEvent);
if (!MessageQueue.Exists(queue))
{
if (this.CreateQueueIfNotExists)
{
MessageQueue.Create(queue);
}
else
{
return;
}
}
using (MessageQueue mq = new MessageQueue(queue))
{
Message msg = this.PrepareMessage(logEvent);
if (msg != null)
{
mq.Send(msg);
}
}
}
Я прокомментировал следующий оператор if и теперь он отправляет в удаленные очереди. Кто-нибудь может это проверить? Это ошибка, или я что-то упустил?
if (!MessageQueue.Exists(queue))
{
if (this.CreateQueueIfNotExists)
{
MessageQueue.Create(queue);
}
else
{
return;
}
}