public MediaFile DiscoverFile(string file, bool takeScreenshot = true) { IDiscoverer discoverer = GetDiscoverer(); MediaFile mfile = discoverer.DiscoverFile(file, takeScreenshot); discoverer.Dispose(); return(mfile); }
public void Dispose() { //正常退出时,如果还有正在进行的会话,则将这些会话序列化起来。 foreach (Conversation conv in Conversations.Values) { //TODO 新特性 每个会话还要设置超时。而且信息是明文的。这需要认真考虑。 } //给每个已经连接的设备发Offline消息,广播下线消息不一定正确。因为不能保证所有人都能收到广播,建立连接的方式不一定只是局域网。 foreach (var device in Devices) { if (device.State == DeviceState.Connected) { device.Disconnect(); } device.NotifyImOffline(); } //等待上面的数据包发送完毕。要不要等待全部回复,或者超时两个条件? Thread.Sleep(500); Stop(); Discoverer.Dispose(); ChannelManager.Dispose(); //appModelMutex.ReleaseMutex(); }