【问题标题】:Is it the right time to convert large .net based distributed SOA system into .net Core?现在是将基于 .net 的大型分布式 SOA 系统转换为 .net Core 的合适时机吗?
【发布时间】:2017-03-08 04:44:12
【问题描述】:

我们有一个大型业务解决方案,其中包含一些 Windows 服务、许多 WCF 服务、一些 SharePoint 应用程序和一些 ASP.NET MVC Web 应用程序,这些都是近 10 年前开发的。目前我们正在使用 .net framework 4.0 。

现在我们看到 .net 开源平台越来越流行,似乎 .net 核心将是 .net 的未来。在这种情况下,我们应该立即将所有应用程序都转换为 .net core 还是我们应该等待更多时间(可能超过一年)。 .net core 是否足够稳定,可以生产百万美元的项目?

提前致谢。

【问题讨论】:

  • 现在是时候将基于 .net 的大型分布式 SOA 系统转换为 .net Core 了吗? - 否

标签: .net asp.net-mvc wcf asp.net-core sharepoint-2010


【解决方案1】:

我在 dotnet 平台文档中搜索过答案并找到了答案:

  1. 在以下情况下,您应该为您的服务器应用程序使用 .NET Framework: 您的应用当前使用 .NET Framework(建议扩展而不是迁移)

  2. WCF 服务实现。即使有一个 WCF-Client 库可以从 .NET Core 使用 WCF 服务,但截至 2016 年 6 月,WCF 服务器实现仅在 .NET Framework 上可用。此方案不是 .NET Core 当前计划的一部分,但正在考虑用于未来。

  3. 工作流相关服务:Windows Workflow Foundation (WF)、工作流服务(WCF + WF 在一个单一的服务中)和 WCF 数据服务(以前称为“ADO.NET 数据服务”)仅在 . NET Framework,并且没有计划将它们引入 .NET Core。

由于我们完全依赖 WCF,我们现在不能迁移到 .net core(直到 wcf 被 .net core 支持)。

但如果要使用 ADO.NET 数据服务相关功能,则必须保留在 .net 框架中。

这里是文档Choosing between .NET Core and .NET Framework for server apps

【讨论】:

    【解决方案2】:

    你可以做到,它有一个稳定的版本核心 1.1,但它有一些限制: 根据我的经验,我觉得 Project.json 仍然没有完全稳定,并且存在一些 dnx 问题。对于复杂的项目,您将拥有如此多的引用,因此构建比普通 .net 框架项目需要更多时间,如果您在 project.json 中使用核心和 .netframework 引用的组合,有时它无法正确映射这些依赖项。您需要重新生成构建脚本和自动化测试脚本,因为核心应用程序使用 dotnet cmd,并且您可能需要使用 xunit,因为它是测试核心应用程序的最佳单元测试框架。但是,如果您将来想利用在非 Windows 平台上部署您的应用程序,您现在可以开始迁移到核心 1.1(稳定版),只需进行少量更改。如果在 Azure 中部署 Web 应用程序,.net 核心应用程序对框架 v4.6 有一些限制。
    但有更多内置选项,例如:
    通过 IOptions 进行强类型设置,配置简单,虽然它提供了许多内置中间件,但它还提供了一种通过自定义中间件注入自定义逻辑以请求管道的方法,Web 应用程序在 Kestrel 中运行,因此您可以从甚至控制台等,因为迁移不会提高您的生产力。如果您严格需要它,请执行此操作。您可以参考任何相关的 msdn 文章以启动 https://docs.microsoft.com/en-us/dotnet/articles/core/index 以及它面临的问题:https://github.com/aspnet/Home/issues

    【讨论】:

    • 我已阅读文档并为我们的业务案例得到了答案(如下提供)。不过谢谢你的回答。
    • 是的,如果您系统的主要部分在 wcf 上工作,那么 wcf 迁移到核心就无法完成。但是,如果需要,您仍然可以迁移您提到的那些 asp.net mvc 应用程序,并且您可以参考我的答案。
    • 你听说过一种叫做段落的东西吗?
    猜你喜欢
    • 2022-07-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-07-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多