Verificar Status da Rede em CSharp

No meu post anterior, mostrei que precisava forçar a inicialização da minha aplicação porque os funcionários burlavam meu sistema segurando o CTRL (Control) quando efetuavam logon. Como nossos funcionários são muito inteligentes, me arrumaram outro problema, que só conseguimos identificar após o bloqueio do Gerenciador de Tarefas, este vou explicar e mostrar como solucionar.

O Novo Problema

Vamos ao novo problema, como os funcionários não tinham mais a opção de finalizar a aplicação eles tiveram que se virar para trabalhar fora do horário. O que eles inventaram? Retirar o cabo de rede logo após efetuar o login, como a aplicação busca no banco de dados as informações para avaliar se o funcionário está dentro ou fora do horário, sem rede isso não era possível, então aplicação era desativada por segurança;

A Solução

A solução foi colocar uma etapa para verificar a conexão de rede quando iniciar a aplicação, e se identificado que a máquina está sem rede, força um logoff. Mas porque só na inicialização? Por questão de segurança, em uma eventual queda de rede total não ocorra um Logoff em todas as máquina da empresa.

Vamos ao Código

Vamos utilizar o namespace System.Net.NetworkInformation, que contém informações sobre configurações e estatística para interface de rede;

using System.Net.NetworkInformation;

E com o método GetIsNetworkAvailable, que indica se alguma conexão de rede está disponível, efetuar a validação como no código abaixo;

if(NetworkInterface.GetIsNetworkAvailable())
    //Conexão OK
else
    //Sem conexão

Espero que tenha sido útil!Um abraço e até a próxima!

Post Tagged with , , ,

Comments & Responses

Deixe uma resposta