C# Silverlight是否适合这些要求?

C# Silverlight是否适合这些要求?,c#,.net,wpf,asp.net-mvc,silverlight,C#,.net,Wpf,Asp.net Mvc,Silverlight,我正在寻找一个合适的客户端架构,它将满足以下部分或全部要求 我主要考虑Silverlight(但是我也会根据你的建议考虑MVC或WPF——我可以把这些要求中的一些换掉,或者找到工作的地方)。 我正在寻找对Silverlight是否能够完全、部分或不能够支持以下各项的评估,如果可能,请提供详细信息: 必须能够通过WCF和MTOM可靠地上传大型(~100MB)二进制文件 必须能够支持文件下载,最好是在后台(即通过“同步”),但如果需要,可以通过手动URL支持 应该可以访问某种形式的本地存储—这可以

我正在寻找一个合适的客户端架构,它将满足以下部分或全部要求

我主要考虑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被提及——这是首选方法还是其他方法

在完成了一些Silverlight开发之后,我经常觉得它提供的可能性有点限制。在我看来,它应该在浏览器中运行,具有类似web的界面。从您的描述来看,它更像是一个您想要的完整应用程序,因此我建议您使用WPF,并单击“一次部署”自动处理更新

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

应该有用

必须能够支持文件下载,最好是在后台 (即通过“同步”),尽管这可以简单地得到支持 如有必要,通过手动URL

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

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

见上文。关于本地数据库支持,WindowsPhone7有一个SQLite端口,它也可以在Silverlight中工作(我最近测试了它)

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

通知可以通过Silverlight的通知窗口完成(SL4及以上版本支持)。实际的服务器端通知可以通过双工通道或Kaazing WebSockets网关等进行

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

您可以使用MSI安装程序在运行时安装OOB客户机,但Silverlight标准更新机制仍然适用(必需的Authenticode签名XAP)。几周前我就这么做了

应尽可能减少系统托盘的压力

在SL4中不可能使用AFAIK。不太清楚SL5


我没有提到的所有要点都应该有效。

从您的需求来看,我建议使用WPF,即完整的应用程序支持,但当涉及到OS X支持时,您会遇到一个问题,WPF在OS X上不起作用,只有Silverlight起作用,所以我担心您有一些需求相互冲突。

回答得好,正是我想要的,谢谢。增加了几个后续问题。。