Usuário com melhor resposta
Problemas ao abrir mais de uma instância do navegador usando LocalMessage.

Pergunta
-
Olaa,
Possuo uma Aplicação em Silverlight no qual uso MVVM, e estou usando LocalMessageSender e LocalMessageReceiver para realizar a comunicação entre as páginas. Mas isso me força a abrir somente uma única instância da respectiva aplicação em meu browser. Usando LocalMessage estarei sempre limitado a tal situação ? Se não, o que possivelmente poderia estar causando tal situação ?
Segue abaixo um exemplo de como a aplicação está sendo implementada, para uma melhor visualização:
internal LocalMessageReceiver recebedorDeMensagensAutenticacao { get; private set; } private void recebedorDeMensagensAutenticacao_MessageReceived(object sender, MessageReceivedEventArgs e){ if (e.Message == "UsuarioLogado"){ this.notificacaoErro.Visibility = Visibility.Collapsed; this.PersonalizaMainPage(); this.telaAutenticacao.Visibility = Visibility.Collapsed; } else if (e.Message == "Acesso Inicial\nFavor trocar a senha."){ TelaAlterarSenha telaAlterarSenha = new TelaAlterarSenha(); telaAlterarSenha.Show(); telaAlterarSenha.PodeAbrirTelaDeDadosPessoais = false; } else { this.notificacaoErro.Visibility = Visibility.Visible; this.txtErro.Text = e.Message; } }
Desde Já, Agradeço.
Respostas
-
Bom dia Rodrigo,
para evitar conflitos entre duas ou mais instâncias a própria Microsoft recomenda que você utilize nomes únicos para o LocalMessageReceiver. Você pode gerar os nomes únicos usando JavaScript e considerando a data e o horário para gerar o nome.
Segue o artigo que trata deste tópico:
(Vejo a seção "Avoiding name conflicts with multiple instances of a single Web application")
Abraços,
Daniel Cheida de Oliveira- Sugerido como Resposta Daniel Cheida sexta-feira, 4 de novembro de 2011 09:42
- Marcado como Resposta _dev sexta-feira, 4 de novembro de 2011 15:29
Todas as Respostas
-
Bom dia Rodrigo,
para evitar conflitos entre duas ou mais instâncias a própria Microsoft recomenda que você utilize nomes únicos para o LocalMessageReceiver. Você pode gerar os nomes únicos usando JavaScript e considerando a data e o horário para gerar o nome.
Segue o artigo que trata deste tópico:
(Vejo a seção "Avoiding name conflicts with multiple instances of a single Web application")
Abraços,
Daniel Cheida de Oliveira- Sugerido como Resposta Daniel Cheida sexta-feira, 4 de novembro de 2011 09:42
- Marcado como Resposta _dev sexta-feira, 4 de novembro de 2011 15:29
-