首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >WPF XBAP迁移选项

WPF XBAP迁移选项
EN

Stack Overflow用户
提问于 2019-05-09 20:32:07
回答 2查看 1.4K关注 0票数 4

我有一个复杂和非常大的WPF XBAP应用程序(基于Web的应用程序,运行在部分信任模式)。由于微软将在2020年之前停止对XBAP的支持,所以我们希望用其他的东西来替换/迁移XBAP应用程序,而不会有太多的代码更改。

我们评估了以下选项,但没有一个看起来很好:

  1. ClickOnce应用程序--最有希望,但我们更倾向于基于网络的解决方案。
  2. 重写的代码:是否有一个插件可以通过角与C#代码对话。此外,Angular将不允许在客户端上写入文件。

将感谢在迁移XBAP应用程序方面的输入/经验。

谢谢,

RDV

EN

回答 2

Stack Overflow用户

发布于 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应用程序。作为第一个候选人,我建议这样做。如果你已经拒绝了它,那就再看看为什么。

也许你可以把它放在微软的商店里。

祝好运。

票数 4
EN

Stack Overflow用户

发布于 2020-04-01 19:03:19

看起来,只有桌面WPF应用程序才能实现最小的改动。它是唯一使用兼容XAML的平台。现代应用程序不像WPF那样将视图映射到视图模型,xamarin没有相同的功能集。

如果将其转换为web,则可以维护大部分业务逻辑,而无需进行重大更改。但是,webapi是无状态的,因此您需要弄清楚如何管理状态。这已经是一个比坚持使用WPF更大的变化,您仍然需要重写前端。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56067142

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档