这可能听起来很糟糕,但是如何让Silverlight作为桌面应用程序运行?或者我应该使用WPF?有什么银光会带来WPF吗?从设计和实际编码的角度来看。
答案 0 :(得分:3)
这取决于你的意思 - 你的意思是你想要一个互联网提供的应用程序,但你不希望它必须在浏览器中?如果是这样,那么你可以在浏览器之外使用Silverlight。
你的意思是你真的想要一个更像厚客户端的东西 - 比如传统的exe吗?如果是这样,你将无法使用Silverlight。 Silverlight预计将成为一个分布式应用程序,因此它缺少一些您希望在桌面应用程序中拥有的东西。
示例:
Silverlight没有Ado.net(无法直接查询表 - 它希望您使用Web服务来检索数据)(Silverlight也没有实体框架)
Silverlight应用程序希望以部分信任方式运行 - 您必须做一些额外的工作才能让Out Of Browser以完全信任的方式运行,并且由于默认情况下它以部分信任方式运行,因此您无法获得文件系统访问权限。 (对于Web应用程序来说很好,因为服务调用会导致您的数据处理)
Silverlight运行时是与.Net运行时不同的动物。在大多数情况下,Silverlight是.net的一个子集(存在一些差异,特别是在XAML功能中),因此在运行Silverlight时使用的是不同的运行时。 (因此,Silverlight中不支持即将推出的.net 4.5功能)。
所有这一切,Silverlight对于互联网/内联网多层应用程序来说是一个非常好的解决方案,它只是应用程序必须是多层的。
答案 1 :(得分:2)
Silverlight只会带来很多限制......
但最新版本仍支持“Silverlight out of Browser”和“Silverlight full trust”
您获得的是一个仍然可以在Web上运行的代码库(通过一些调整)。