Pages

16 de fev. de 2012

[C#.NET] MacAddress via Client usando aplicação ClickOnce

Bom dia galera,

Para quem já tentou fazer uma aplicação em C#.NET para retornar um MacAddress do Client e não do Server e ficou frustado, suas frustações acabaram.

É possível recuperar um MacAddress instalando uma aplicação do tipo clickOnce na máquina do usuário. Essa aplicação pode ser do tipo WindowsForms ou WPF, por exemplo. Funciona da seguinte maneira, quando o usuário instalar a aplicação em sua máquina, ela disparará um serviço web que enviará o MacAddress para o servidor através de um WebService. Na sua aplicação WebService, você receberá o MacAddress, assim como qualquer outro dado que desejar enviar e poderá armazenar no banco de dados. Dentro do WebService, você também pode escolher o tipo de retorno, que sua aplicação ClickOnce deve ter.

Uma outra opção, seria não retornar nenhum tipo de mensagem na aplicação clickOnce e armazenar o MacAddress em Cookie e através de uma requisição AJAX, utilizando Ajax Push(ou Ajax Reverso, ou Ajax Comet), é possível verificar se o cookie já foi definido ou não. Mas possivelmente a definição de cookie, varie de navegador para navegador, dificultando a leitura do mesmo.

Oura solução, seria utiliar a mesma requisição do tipo Ajax push e verificar se foi inserido algum valor em uma tabela de tempos em tempos. enquanto não tiver alguma alteração no banco de dados, a requisição no servidor não trará retorno.

Essas são algumas da possibilidades.

Usar Active X, para buscar essas informações, não é aconselhável, pois não funciona para todos os navegadores.