我应该考虑使用什么.Net工具来构建应用程序来监控我们的实时系统?

时间:2011-09-14 07:52:32

标签: c# .net monitoring

我想构建某种接口来监控我们的实时路由/交换系统。我想提供大量的视觉反馈,以便能够直观地监控其状态。我们的系统和客户端不在同一地点,因此需要通过TCP / IP进行连接。

我希望能够为任意数量的监控客户端提供服务(尽管这可能只有4-6个客户端)。我想过使用SilverLight,但似乎有一两个技巧涉及让SilverLight连接回运行在不同端口上的应用程序。

我还想过使用HTML5画布和websockets。另一种方法是使用普通的Window Forms和WPF来创建客户端。但这意味着要监控应用程序,客户端必须先下载。我更喜欢像网络应用程序一样容易访问的东西吗?

有哪些更常见的应用程序堆栈可以实现这一目标?我应该注意什么?

编辑:

添加:这只是一个内部工具。但我们在几个地方都设有办事处。

5 个答案:

答案 0 :(得分:2)

“实时”和浏览器困扰着我。 我确实会去WPF或WinForms。使用ClickOnce-Deployment,您可以使用户无痛苦,只需重新部署并让用户重新启动应用程序即可推出新版本。 在我的公司,这个工作非常好,我们没有任何问题。唯一的问题是,app.config有点难以找到并保持当前/有效(重新部署)但在你的情况下,这不会改变每个客户端(或者我猜)。

答案 1 :(得分:2)

在这个方向上的任何选择都可能是主观的和有争议的,当然有人可以建议任何可能的网络框架或语言......

我会考虑,但是因为你的.NET和C#标签,ASP.NET MVC 3,所以基本上是基于web的无插件(NO Silverlight)HTML 5解决方案。

考虑到StackOverflow以相同的方式完成(MVC,ASP.NET,SQL Server ......)并且表现得比众所周知。

你从TCP中获取底层事件的方式,所以你从TCP中捕获和提供数据的方式,这是前端的另一件事,如果流量如此之高,你可能会写一个Windows服务,你想要无论是否有任何活动的客户端连接,都可以抓取并存储数据。

对于MVC,MS Chart Control,还有很多实时图表控件。 DevExpress,ExtJS集成的......

答案 2 :(得分:0)

如果您从头开始,最好查看WCF (Windows Communication Foundation)。这很好,因为它可以公开你的功能in many ways,只需修改一个配置文件。

如果您需要Windows客户端应用程序,可以在Windows服务中托管它,或者只是将其作为侧面程序集包含。对于Web应用程序,您可以选择各种格式(JSON,XML),通道(HTTP,TCP)和协议(SOAP,ODP)。

如果我做对了,将会有一个服务器端应用程序,它将从设备收集信息并将其作为服务公开给客户端。在这种情况下,WCF应用程序可能托管在服务器计算机上的Windows服务或IIS中,并通过一个或多个端点(HTTP,TCP)公开数据。

我不知道将SilverLight应用程序连接到服务时出现问题,但我宁愿选择HTML5 / JavaScript组合,以便更轻松地部署和兼容更广泛的设备(无需插件)。 ASP.NET MVC应该是Web应用程序的最佳选择。

答案 3 :(得分:0)

我同意@Davide - 我会选择一个能够实时获取所有路由/交换数据的WebService。您将拥有一个Web应用程序,在客户端,您将获得JQuery / AJAX从WebService组件中获取实时数据。

答案 4 :(得分:0)

我见过Web Orb的酷炫演示,做了类似你想要的事情。 http://www.themidnightcoders.com/