将侦听器添加到NetworkAvailabilityChanged事件时的NetworkInformationException

时间:2011-08-11 22:51:12

标签: c# .net networking system.net

我们最近开始在初始化期间弹出这个异常:

System.Net.NetworkInformation.NetworkInformationException: An operation was attempted on something that is not a socket
   at System.Net.NetworkInformation.NetworkChange.AddressChangeListener.StartHelper(NetworkAddressChangedEventHandler caller, Boolean captureContext, StartIPOptions startIPOptions)
   at System.Net.NetworkInformation.NetworkChange.AvailabilityChangeListener.Start(NetworkAvailabilityChangedEventHandler caller)
   at System.Net.NetworkInformation.NetworkChange.add_NetworkAvailabilityChanged(NetworkAvailabilityChangedEventHandler value)
(snip)

这是一个在许多客户端计算机上运行的应用程序。这个订阅是我们在初始化期间做的第一件事,其周围的代码最近没有改变。由于堆栈跟踪是订阅调用之下的几层(因此不会直接受到我们发送的任何参数的影响),我怀疑从我们下面发生了一些变化,但是我无法找到关于此异常的足够信息。知道从哪里开始寻找。

任何想法都将不胜感激!

1 个答案:

答案 0 :(得分:0)

最终,这与我们使用Komodia Redirector有关(我们的安装过程没有干净地发生,这可能导致网络LSP层出现一些奇怪的行为)。一旦我们让安装工作正常,这个问题就消失了(虽然我们后来因为无关的原因而放弃了Komodia。)