2010-08-16 19 views
0

我有一个非常大的Asp.Net应用程序使用Asp.net 3.5和3000页。现在我们需要在其中集成一些Silverlight控件。例如,我们需要更改dashborad以合并新的SL UX。我的问题是,容易使用这两种技术,即Asp.Net和SL,都有不同的项目。这对我们来说很难与这些Web应用程序和SL应用程序进行通信。我们正在决定如何将SL集成到我们现有的应用程序中。Silverlight和Asp.net

请记住,它不存在我们可以将整个应用程序转移到SL的问题。我们必须坚持asp.net 3.5或4

任何帮助或链接将appriciated可以解决这个问题。

谢谢

回答

0

在SL和ASP.NET之间进行通信有几种方法。它是多么容易取决于你的开发技能......

要在SL应用程序和托管在客户端的ASPX页面之间进行通信,请使用HTML桥(doco herehere)。一句警告:桥可能很慢,所以你不想太唠叨。

要在SL应用程序和服务器之间进行通信,请使用WCF Web服务。这些都很快,但你将被迫异步使用它们,这意味着你需要使用一些不同的模式和/或编码风格来将你在ASPX页面中使用的内容。有些事情要注意这一点:

  • 的WCF连接不能跨页面刷新持续性(因为你的SL应用进行了重新加载),所以你需要在每次重新建立连接的页面(或面板控股SL应用程序)刷新
  • 它可以是PITA以同步方式使用异步Web服务,因此请尽量避免使用这种反模式,以免您在启动之前熟悉诸如MVVM或MVVMC等模式,以便最终结束有一个很好的优雅设计,而不是一些怪异的东西,它是经典的ASP.NET一切在代码隐藏和一些延迟的半身MVC-MVP杂种之间的交叉。

要在同一个ASPX页面上单独的SL应用程序之间进行通信,请使用Silverlight messaging

+0

“一些迟钝的半身MVC-MVP杂种” 感谢那一行,这让我的一天。 :) – 2010-08-16 11:04:48