这听起来很愚蠢,但是如何让Silverlight作为桌面应用程序运行?还是应该只使用WPF? WPF不会带来什么影响?从设计和实用编码的角度来看。
最佳答案
这取决于您的意思-您是否要使用互联网交付的应用程序,但又不想将其放置在浏览器中?如果是这样,则可以在浏览器之外使用Silverlight。
您是说您真的想要更像胖客户端的东西-例如传统exe吗?如果是这样,您将不会从Silverlight中获得太多使用。 Silverlight有望成为一个分布式应用程序,因此它缺少桌面应用程序中应具备的某些功能。
例子:
没有适用于Silverlight的Ado.net(无法直接查询表,它希望您将使用Web服务来检索数据)(也没有适用于Silverlight的实体框架)
Silverlight应用程序希望以部分信任的方式运行-您必须做一些额外的工作才能使Out Of Browser以完全信任的方式运行,并且由于默认情况下以部分信任的方式运行,因此您将无法获得文件系统访问权限。 (这对于Web应用程序是很好的,因为您的数据处理是由于服务调用而引起的)
Silverlight运行时是与.Net运行时不同的动物。在大多数情况下,Silverlight是.net的子集(存在一些差异,尤其是XAML功能),因此在运行silverlight时会使用不同的运行时。 (例如,Silverlight将不支持即将推出的.net 4.5功能)。
综上所述,对于Internet / Intranet多层应用程序,Silverlight是一个非常不错的解决方案,只是该应用程序必须是多层的。