可以向浏览器广播的桌面应用程序

时间:2014-02-01 02:24:58

标签: c# wpf browser desktop broadcast

我在一个月前开始学习C#,我对wpf,xaml和MVVM模式非常熟悉(我认为)。我正在努力制作一个管理体育赛事的计划(举重和举重是第一版的重点)。

我们已经有了一个程序,但它根本不是用户友好的,需要一些培训和网络知识才能使用。当前程序具有客户端和服务器应用程序,其中服务器用于在客户端显示信息时输入信息。服务器提供了几个视图,例如平台上的下一个人,谁赢了等等。每个视图都显示在监视器上,每个监视器都需要连接到安装了客户端的计算机。客户端计算机一次只能显示一个视图,即每台计算机只能显示一个监视器。然后需要配置每个客户端,以便它知道服务器的IP地址等。

我想要做的是制作一个更简单的解决方案,其中只有服务器应用程序然后广播(我不确定术语,就像我说的,我只在一个月内学习)视图,以便它们可以在浏览器中显示。这不仅消除了在显示视图的每台计算机上安装客户端的需要,而且还可以将多台显示器连接到同一台计算机,每台计算机都有一个全屏的浏览器窗口。

我还希望程序几乎不需要任何计算机技能来操作或设置,即你可以只运行安装程序(甚至只是复制一个文件夹),你就可以了。

数据条目和与之相关的东西,即基本上它背后的UI和逻辑以及数据库等,我可以管理并且已经很好地使用WPF和MVVM模式创建。

现在我终于完成了我正在尝试做的事情以及我可以继续提出问题的要求。经过广泛的谷歌搜索后,我仍然没有发现如何让我的程序广播视图,以便可以在浏览器中查看它们。这可能主要是因为我不知道要查找的正确术语。

所以这是我的问题:

  • 我想做什么(最好不要挖得太深)。

  • 我应该寻找什么?

  • 这样做的最佳方法是什么?请记住,用户程序的简单性是我的主要关注点。

  • 是否有任何图书馆,工具和/或技术可以帮助我完成这个项目?

  • WPF对此有用还是应该使用某种基于Web的平台?

  • 如果可以的话,可以使用一个安装程序文件来设置所有内容,就像我之前描述的那样?

编辑:我忘了添加我想在浏览器中键入服务器的IP地址,以获取特定浏览器窗口应显示的视图的菜单。

3 个答案:

答案 0 :(得分:2)

听起来你正在尝试构建一个相当标准的企业级应用程序,但很难在一个帖子中回答这个问题而不知道你将不可避免地面临的任何变量。哦,好吧,无论如何都要去....

如果你在一个安全的子网上,那么我可能会完全放弃一个网络服务器以及它们为天真用户带来的所有配置麻烦。创建一个WPF应用程序并让它在运行时创建Web服务器。客户端第一次运行时要求所有服务器识别自己,就可以喊出UDP广播,显然客户端也应该有一个功能,允许用户在将来的任何时候使用它。至于提供你的数据,你可能想要一个实时的数据流,为此我会使用网络套接字,它们专门为这类东西设计,它们与所有主要的网络浏览器兼容(应该你以后想要浏览器支持)最重要的是它们可以用几十行代码在WPF中实现。这样做,您应该能够为您的客户端提供独立的WPF应用程序,这些应用程序安装在相关的自动配置机器上,无需用户提供任何输入。

答案 1 :(得分:1)

如果您的“服务器”是Web服务器,则整个应用程序可以是Web应用程序。然后,您的客户只需要一个Web浏览器。 ASP.NET应用程序仅在服务器上运行特定于.NET的代码 - 提供给客户端的是纯HTML / CSS / JavaScript等等......通过良好的设计,客户端可以是任何东西(台式机,笔记本电脑,平板电脑,手机等......)。

当您谈论广播时,听起来您希望服务器将更新推送到客户端。更好的方法是让客户端(网页)从服务器请求这些更新。

答案 2 :(得分:0)

  

我要做的是提供一个更简单的解决方案,其中只有服务器应用程序然后广播(...)视图,以便可以在浏览器中显示它们。

     

无需在每台计算机上都安装客户端

     

我还希望程序要求(...)只需运行安装程序(...),您就可以开始使用了。

您可以通过VirtualUI(启用应用程序网络)和jsRO来重新定义用户界面,使其更简单(但又不影响原始应用程序)来完成您的描述。

您可以在此CodeProject文章中找到一些参考。