我有一个复杂和非常大的WPF XBAP应用程序(基于Web的应用程序,运行在部分信任模式)。由于微软将在2020年之前停止对XBAP的支持,所以我们希望用其他的东西来替换/迁移XBAP应用程序,而不会有太多的代码更改。
我们评估了以下选项,但没有一个看起来很好:
将感谢在迁移XBAP应用程序方面的输入/经验。
谢谢,
RDV
发布于 2019-05-10 10:11:46
没有太多的代码改变?
来自wpf的web应用程序将是对数据层的所有内容的全面重写。也许其中一些也是。
Web应用程序存在于浏览器沙箱中。您可以将任何旧脚本加载到web浏览器中,而沙箱可以阻止所有这些坏人对您做坏事,比如删除c驱动器的全部内容。
除了一些有限的例外。
它们可以将文件写入本地存储。有各种各样的插件,使开发人员更加友好。
您可以考虑使用cshtml。这可以将xaml转换为html5。
http://www.cshtml5.com/
不过,我想这并不是所有WPF应用的100%覆盖率。我读过小字,并仔细考虑,然后再写所有其他选项。
为了从网页中“与c#对话”,通常的方法是调用web服务。
写入本地磁盘的一个选项是在客户端计算机上安装该服务。不过,如果你能做到这一点,那么网络应用程序就不太可能成为你的最佳选择。
那个c#网络服务。
您的c#将是web。web端点几乎只是web应用程序控制器上的一个公共方法。
如果您的devs都是c#和xaml,那么您可能会发现有一个巨大的学习曲线可以切换到任何基于javascript的内容。
有很多东西需要用角来学习。
在你可以选择的框架中,棱角是最“固执己见”的。你能适应它。你很可能会发现,仅仅因为这个原因,像reason这样的选择更合适。
就客户端上的c#而言,您的选择相当有限。WebAssembly是令人讨厌的新东西。如果您的用户不使用IE,那么这是Blazor的一个选项。Blazor的问题在于它是一种新兴技术,还没有准备好编写一些企业应用程序。
https://dotnet.microsoft.com/apps/aspnet/web-apps/client
明年,这仍将是令人头疼的事情。您仍然需要学习剃须刀CSS和JavaScript。
现在可用的是Xamarin表单。但你得安装这些。
比所有这些更明显的是一个常规安装的wpf应用程序。作为第一个候选人,我建议这样做。如果你已经拒绝了它,那就再看看为什么。
也许你可以把它放在微软的商店里。
祝好运。
发布于 2020-04-01 19:03:19
看起来,只有桌面WPF应用程序才能实现最小的改动。它是唯一使用兼容XAML的平台。现代应用程序不像WPF那样将视图映射到视图模型,xamarin没有相同的功能集。
如果将其转换为web,则可以维护大部分业务逻辑,而无需进行重大更改。但是,webapi是无状态的,因此您需要弄清楚如何管理状态。这已经是一个比坚持使用WPF更大的变化,您仍然需要重写前端。
https://stackoverflow.com/questions/56067142
复制相似问题