将Silverlight移植到WPF

4

我有一个庞大的Silverlight LOB应用程序,现在我正在尝试将其移植到桌面WPF应用程序中(因为Silverlight已经逐渐退出历史舞台)。

XAML和C#代码可以轻松地移植过来,但原始应用程序使用了WCF RIA服务。(超过30,000行代码。)我的问题是,我能否在我的WPF应用程序中使用相同的WCF RIA服务呢?

谢谢。

3个回答

4

2
我不赞同其他回答者在没有实际使用RIA Services客户端的情况下将其用于WPF:如果您不像他们建议的那样使用实际的RIA Services客户端组件,那通常意味着您需要在客户端重写大部分数据处理代码。
通常,在RIA Services应用程序中,自动生成的类被广泛使用,其行为不易重构。事实上,这将非常困难,最好重新编写大部分内容。例如,您的应用程序是否未将保存按钮的“Disabled”属性绑定到“XyzContext.HasChanges”?
如果您的应用程序是典型的,那么您确实需要真正的RIA Serives客户端来进行干净的移植。
半幸运的是,RIA Services已经成为开源项目,WPF支持也在他们的路线图上:OpenRiaServices
我从未使用过它,而且我感觉进展有点缓慢,但是根据您自己的倾向,这可能是使用的现实选项。您只需期望要自己完成一些工作。
此外,您是否使用任何依赖于RIA Services的第三方库?例如,如果您使用DevExpress,则还必须移植使用RIA Services的其组件(RiaInstantFeedbackDataSource等)。
如果您尝试了,请在评论中分享您的经验。我自己也有一个大小相同的RIA Services应用程序。

2

是的,你可以这样做,因为我之前就这么做过,但是由于你只是访问端点并实际上执行了get或post操作,所以你失去了RIA WCF服务提供的更改跟踪功能。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接