将Silverlight移植到WPF

时间:2016-03-26 06:51:40

标签: c# wpf silverlight wcf-ria-services porting

我有一个大型Silverlight LOB应用程序,我正在尝试移植到桌面WPF应用程序(因为Silverlight缓慢死亡。)

xaml& c#代码端口很好但原始应用程序使用WCF RIA服务。 (超过30,000行。)我的问题是,我可以在我的WPF应用程序中使用相同的WCF RIA服务吗?

由于

3 个答案:

答案 0 :(得分:4)

您可以使用以下几种资源来决定是否要沿着这条路走下去

How to access a WCF RIA web service from a WPF client application

How to use WCF RIA SERVICES with WPF application?

How to open a WCF RIA Services application to other type of clients: the SOAP endpoint (3/5)

他们主要围绕着:

  1. 将SOAP端点公开给您的WCF RIA Web服务

  2. 从WPF访问WCF RIA服务作为WCF Web服务

  3. 使用WCF SoapClient访问WCF RIA DomainService

答案 1 :(得分:2)

是的,你可以像我以前那样做过,但是因为你只是点击了端点并有效地进行了获取或发布,你就失去了ria wcf服务附带的变更跟踪功能。

答案 2 :(得分:1)

如果没有实际的RIA服务客户端,我不会分享其他的回答倾向使用RIA服务WPF:如果您不按照他们的建议使用实际的RIA Services客户端组件,那通常意味着重写大部分无论如何,你在客户端上的数据处理代码。

通常,RIA Services应用程序中的自动生成的类在任何地方都使用,并且它们的行为不容易重新构建。事实上,这将是非常非常困难的,你最好只重写大部分内容。例如,您的应用是否将保存按钮的Disabled属性绑定到XyzContext.HasChanges

如果您的应用是典型的,那么您真的需要真正的RIA Serives客户端来获得干净的端口。

半幸运的是,RIA服务已经开源,WPF支持在他们的路线图上:OpenRiaServices

我从来没有使用它,我觉得进展有点慢,但是,根据你自己的倾向,使用它可能是一个现实的选择。你只需要自己做一点就可以了。

另外,您是否使用任何依赖RIA服务的第三方图书馆?例如,如果您使用DevExpress,则还必须移植使用RIA服务(RiaInstantFeedbackDataSource等)的组件。

如果您尝试一下,请对其进展情况发表评论。我自己有一个大小相同的RIA服务应用程序。