我有一个大型Silverlight LOB应用程序,我正在尝试移植到桌面WPF应用程序(因为Silverlight缓慢死亡。)
xaml& c#代码端口很好但原始应用程序使用WCF RIA服务。 (超过30,000行。)我的问题是,我可以在我的WPF应用程序中使用相同的WCF RIA服务吗?
由于
答案 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)
他们主要围绕着:
将SOAP端点公开给您的WCF RIA Web服务
从WPF访问WCF RIA服务作为WCF Web服务
使用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服务应用程序。