我谨提供大量的电.净的应用轻型方式宣布他们正在使用。我的目标是跟踪用户的可能受益于支持检查程序和/或提醒升级。

这是一个内部网络。肯定是IP之间的连接所有的机器,并可能UDP。(但可能不多播。)

写到一个已知的内部分或载入一个已知的URL会的可能性,但我想到的影响最小化的应用程序本身尽可能完整的,甚至不惜牺牲的可靠性。所以我不想危险的超时(例如,如果我访问的一些集中资源,它已经消失了),和理想情况下,我将不启动一线工作人员。

它还将是漂亮的许多听众,这是另一个原因,我想到的是关于广播的而不是援引一项服务。

是有某种防火和忘记广播机构,我可以使用安全和有效地为这个?

有帮助吗?

解决方案

有这个肯定很多选择,而且是一个很容易实现并满足您的条件是的异步Web服务呼叫。

这并不需要你开始工作线程(框架会做幕后)。而不是使用在该链路中概述的选项中的一个来获取的结果,简单地忽略该结果,因为它是没有意义的主叫应用程序。

其他提示

我做了类似的事情,但不完全是 “braodcast”

我在公司使用内部工具的几个非技术人员有。我有它检查特定的EXE网络共享,并比较与执行组件文件的版本号(如果你想使用它,你会下载相同的EXE)。如果网络上的一个较新,提醒用户以下载新的。

不是试图建立一个自动更新的东西,只会在同一建筑物内作为我简单多了。

如果升级不是一个问题(即不存在的情况下使用旧版本的比较好),你可以做什么我做了类似的事情:

这是人们的实际启动的应用是一个更新程序,它会检查文件版本和时间戳在网络共享,如果有新版本出现,将其复制到程序目录。然后,它运行程序(它是否被更新或者不是)。

var current = new FileInfo(local);
var latest = new FileInfo(remote);

if (!current.Exists)
    latest.CopyTo(local);

var currentVersion = FileVersionInfo.GetVersionInfo(local);
var latestVersion = FileVersionInfo.GetVersionInfo(remote);

if (latest.CreationTime > current.CreationTime || latestVersion.FileVersion != currentVersion.FileVersion)
    latest.CopyTo(local, true);

Process.Start(local)

我也有程序本身检查,看看是否更新程序需要更新(如更新器不能将其自身由于文件锁更新)

一些试验后,我已获得良好结果的使用Win32 邮件槽.

没有官方管理的包装,但职能是简单的使用,通过PInvoke,作为证明的例子就像 这一个.

使用'域'邮筒提供了一个真正广播机制,允许多听众,并没有要求为一个众所周知的服务器。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top