我们在WPF中有一个多用户产品原型,它作为原型工作得很好。现在我们要构建完整的产品。
在我们的产品中,2-3个用户可能需要使用相同的数据。假设一个用户正在编辑,而另一个用户正在查看连续的编辑。此外,每当用户更改公共项时,更新应该转到同一项上的所有其他用户,并且他们需要刷新他们的信息。这应该在不连续轮询的情况下发生。
在Silverlight中进行基于web的产品开发有什么优势吗?
发布于 2010-10-19 13:17:09
在这种情况下,与WPF相比,Silverlight绝对没有架构优势。Silverlight的主要优势是1)更小的部署,2)跨平台和3)更集成的浏览器内体验。
但是,从开发人员的角度来看,您可能会发现WPF更适合开发这种协作应用程序,因为您可以访问更广泛的网络选项。Silverlight对你可以访问的TCP/UDP端口有限制,并且没有像.NET框架上的WCF那样的built-in peer to peer networking capabilities。
在任何情况下,Silverlight应用程序实际上都是一个客户端应用程序,并不比WPF更像web应用程序,除非涉及到部署。
发布于 2010-10-19 21:57:27
对等(p2p)与客户端/服务器
您的问题实际上可以归结为您希望如何设计您的数据存储。
P2P:您是否希望应用程序的每个副本都保留数据的完整副本,并与其他客户端交换数据更新?这在LAN环境中工作得很好,但在广泛的Internet上会遇到挑战。BitTorrent就是这样做的一个很好的例子。
P2P通常具有更高的性能和更少的成本,但实现起来非常棘手。您将需要像PeerChannel这样的p2p网络传输,以及像Sync Framework这样的同步引擎,以及像SQLite这样的某种形式的结构化本地数据存储。
客户端/服务器:您是否希望一台主计算机(例如服务器)托管所有数据,并让每个客户端将数据加载/更新到服务器?这在LAN或Internet环境中工作良好。Web浏览器/ web服务器就是一个很好的例子。
Client / Server的开销是必须使用专用的always on服务器计算机,并且您必须编写两个应用程序,客户端和服务器端。Silverlight或WPF适用于此设计的客户端部分。
如果您已经准备好迎接挑战,那么开发p2p应用程序可能会非常有趣,因为需要克服许多障碍,并且最终结果通常更高效。这基本上需要您使用WPF来获得所需的库/工具支持。如果你需要快速工作,你会发现你拥有的工具对客户机/服务器的支持要好得多,因为这是大多数应用程序的编写方式。在这里,WPF和Silverlight都可以工作,但它们只是解决方案的一部分--您还需要一种服务器技术,如SQL server、ASP.NET或Azure或...
https://stackoverflow.com/questions/3965434
复制相似问题