Pergunta

Eu uso a fila de mensagens para enviar mensagens de um aplicativo para o outro (este tem que trabalhar apenas em uma máquina particular)

Eu criar a fila como esta no lado do receptor:

        string queueName = ".\\private$\\WZMSGQ";
        if (MessageQueue.Exists(queueName))
            msgQueue = new MessageQueue(queueName);
        else
            msgQueue = MessageQueue.Create(queueName, false);

e depois disso, eu iniciar a aplicação remetente, onde eu criar a fila assim:

        msgQueue = new MessageQueue(".\\private$\\WZMSGQ");

na Aplicação receptor Eu, então, recuperar novas mensagens:

        Message[] messages = msgQueue.GetAllMessages();
        foreach (Message msg in messages){
             doSomething();
        }

Agora, gostaria de fazer duas coisas:

Gostaria de limpar a fila de mensagens ao instanciar a nova instância MessageQueue na máquina receptor de tal forma que todas as mensagens antigas se foram. Eu gostaria de excluir a fila de mensagens quando termina o programa, de tal forma que não existe mais, se eu começar a aplicação da próxima vez

Como posso fazer isso?

Foi útil?

Solução

MessageQueue.Purge e < a href = "http://msdn.microsoft.com/en-us/library/system.messaging.messagequeue.delete.aspx" rel = "nofollow noreferrer"> MessageQueue.Delete parecem ser o que você quer , a menos que eu tenha interpretado mal a questão.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top