有没有办法将非silverlight组件添加到silverlight项目?

时间:2011-07-20 10:39:51

标签: silverlight-4.0

我想在Silverlight项目中添加非silverlight程序集, 有没有办法做到这一点?或者另外一个选择是什么?

2 个答案:

答案 0 :(得分:1)

这是不可能的,因为Silverlight与完整的.net框架有不同的运行时。解决它的常用方法是创建WCF服务,该服务可以访问该程序集并为Silverlight应用程序提供远程访问。

答案 1 :(得分:1)

正如Andrey所写,将Silverlight程序集添加到Silverlight项目是不可能的。如果你真的需要使用它,你别无选择,只能在服务器端运行它。您可能已经有一个与Silverlight项目一起使用的Web项目,如果是这样,那么您应该在此处添加对此程序集的引用。

用于从Silverlight远程调用Web项目的技术是WCF RIA Services。我链接的页面包含大量文档和视频,可帮助您了解WCF RIA服务。

但是,有一些情况下这种方法不起作用。也许它们都不适用于你的情况,但由于你没有提供关于这个组件的任何细节,我无法确定。

  • 例如,如果您的程序集包含一些WPF控件并且您想将它们添加到Silverlight应用程序中,那么您就不走运了。您必须找到特定于Silverlight的等效项。
  • 如果您经常调用此程序集,您可能会发现Silverlight应用程序花费大量时间等待服务器响应。这可能会显着减慢您的应用程序。
  • 如果您的应用程序需要能够在浏览器外运行并与Internet断开连接(这是我当前Silverlight项目的要求),那么您也将失去运气。

我可以想到的一些事情应该比WCF RIA服务更合理:

  • 发送电子邮件,调用Web服务或其他各种与网络相关的活动,
  • 与数据库交谈,
  • 数学计算。