NetworkAvailabilityChanged não funciona com mono

0

Eu tenho um pequeno programa que está escrito em VB.NET e compilado com o .NET4. Quando eu executo no win7 e desconecto meu cabo de rede, eu tenho um evento. quando eu executo o programa no Ubuntu V12.10 e mono, eu não tenho nenhuma reação quando o cabo de rede está desconectado?

Alguém tem alguma sugestão ou solução?

Eu uso o formulário applicationevents.vb no VB.net 2012 com o acionador:

Private Sub MyApplication_NetworkChange() Handles Me.NetworkAvailabilityChanged

Muito obrigado.

    
por Lieven Samijn 31.08.2013 / 13:43

1 resposta

0

De vbforums, há duas respostas possíveis, de jmcilhinney . Alguém diz :

I'm not 100% sure but I think it likely that that NetworkAvailabilityChanged event is presumably a wrapper for the NetworkChange.NetworkAvailabilityChanged event. The documentation for that event says:

The NetworkChange class raises NetworkAvailabilityChanged events when the availability of the network changes. The network is available when at least one network interface is marked "up" and is not a tunnel or loopback interface.

     

Provavelmente você tem pelo menos uma interface de rede sem túnel ou loopback marcada como "up", mesmo quando você desconecta o cabo de rede.

e o outro :

My guess would be that it uses a Windows-specific API under the hood that is not available on Linux and either has no analogue or at least it hasn't been implemented in Mono.

Existe também esta pergunta no StackOverflow que ainda não tem resposta. Eu estava lendo o código-fonte do mono , tentando descobrir esse problema. Embora tenha uma função LinuxNetworkChange () , não vi qual é o problema (e não estou muito familiarizado com o mono).

De qualquer forma, desde que você não disse que o programa estava disparando um erro, pode ser que ele não tenha sido capturado ou o mono não o ouve por causa disso. Uma busca mais robusta está à frente.

    
por Braiam 31.08.2013 / 19:03