Silverlight是否适合这些要求?

时间:2011-07-18 13:02:22

标签: c# .net wpf asp.net-mvc silverlight

我正在寻找能够满足以下部分或全部要求的合适客户端架构。

我主要考虑的是Silverlight(但我也会根据你的建议考虑MVC或WPF - 我可以关闭其中的一些要求,或找工作)。

我正在寻找对Silverlight能够完全,部分或不能支持以下各项的评估,如果可能的话,每个都有细节:

  • 必须能够通过WCF和MTOM可靠地上传大型(~100MB)二进制文件
  • 必须能够支持文件下载,最好是在后台(即通过“同步”),但必要时可以通过手动URL支持
  • 应该可以访问某种形式的本地存储 - 这可能是用于配置目的的二进制或XML,但理想情况下是某种类型的数据库(只要它是安装/应用程序的一部分,就不会融合)
  • 应该能够根据用户个人资料动态配置自己。换句话说,在用户登录的地方,可以动态确定可用的UI和服务。
  • 应支持某种形式的客户端通知(声音和/或托盘气泡)。理想情况下,这将通过WCF双工支持,但可以通过轮询来完成。
  • 理想情况下,应该在多个平台上运行(Win / OSX)
  • 应该易于部署 - 如果我需要以完全信任模式/ OOB运行Silverlight - 用户如何获得新版本?
  • 应最小化系统托盘

您可以对上述任何细节或想法表示赞赏。

修改 - 其他问题

  • Silverlight 5 OOB中的本地存储/访问是否有任何限制?或者它的行为类似于标准的WinForms应用程序?
  • 是否可以将SQL Express与Silverlight OOB .msi捆绑在一起?
  • 动态配置Silverlight应用的最佳选择是什么?我已经看过MEF了 - 这是首选方法还是其他方法?

3 个答案:

答案 0 :(得分:1)

  

必须能够通过WCF可靠地上传大型(~100MB)二进制文件   和MTOM

应该工作。

  

必须能够支持文件下载,最好是在后台   (即通过'同步'),虽然这可以简单地得到支持   必要时通过手动网址

除非您使用提升的信任(或浏览器中提升的SL5)运行OOB,因此对本地文件系统的访问权限有限,否则您需要确保在隔离存储中有足够的空间用于下载。

  

应该可以访问某种形式的本地存储 - 这可能是   二进制或XML用于配置目的,但理想情况下是某种数据库   (只要它是安装/应用程序的一部分,就不会讨论)

见上文。关于本地数据库支持,有一个用于Windows Phone 7的SQLite端口,它也适用于Silverlight(我最近测试过它)。

  

应该支持某种形式的客户端通知(声音和/或托盘   气泡)。理想情况下,这将通过WCF双工支持,但也可以   通过民意测验完成。

通知可以通过Silverlight的通知窗口完成(从SL4及更高版本支持)。实际的服务器端通知可以通过双工通道或Kaazing WebSockets Gateway等完成。

  

应该可以轻松部署 - 如果我需要运行Silverlight   完全信任模式/ OOB - 用户如何获得新版本?

您可以使用MSI安装程序安装OOB客户端以及运行时,并且仍然可以使用Silverlight标准更新机制(必需的Authenticode签名XAP)。几周前我就完成了这件事。

  

应最小化系统托盘

SL4中无法使用AFAIK。不确定SL5。

我没有引用的所有要点都应该有用。

答案 1 :(得分:0)

做了一些Silverlight开发后,我常常觉得它提供的可能性有点受限制。在我看来,它意味着在浏览器中运行,具有类似Web的界面。根据您的描述,它更像是您想要的完整应用程序,因此我建议自动处理更新的WPF和点击一次部署。

答案 2 :(得分:0)

根据您的要求,我建议WPF,完整的应用程序支持,但是当涉及OS X支持时,那么你有一个问题,WPF不能在OS X上工作,只有Silverlight会,所以我担心你有一个几个要求彼此冲突。