【问题标题】:Migrating from ASP.NET 4 to .NET CORE 1.1 [closed]从 ASP.NET 4 迁移到 .NET CORE 1.1 [关闭]
【发布时间】:2017-07-21 08:06:25
【问题描述】:

我正在从 ASP.NET 4/Webforms 迁移到 ASP.NET Core/MVC。我是 MVC 的新手,但理解这个概念。但是,我在处理 ASP.NET Core 时遇到了一个问题。我有几个问题。

在我的遗留 (ASPNET4) 项目中,我编写了一个“帮助”库,为我的 Web 项目提供基本功能: - 数据库处理(连接、清理、错误捕获、缓存、分页、绑定等)

  • 其他函数(视图状态压缩、日期/时间函数等)

  • 存储管理(会话、cookie 等)

  • 插件(twitter、facebook、google 集成)

  • 身份管理(可与其他系统一起使用的自定义身份)

  • 我想你明白了……

多年来,我在不断更新和修复错误的同时开发了这个框架。它变得非常快速和稳定——它甚至可以处理任何你想扔给它的数据库!

在研究过程中,我发现 .NET Core 让我难以完成相同的任务。首先,CORE 似乎只支持对象关系映射器(实体、dapper 等)。我对 ADO.NET 非常满意,并且了解其中的差异。我只是真的不想使用实体框架或 Dapper。我可以从 .NET Framework 迁移我的大部分代码。但看起来 .NET Core 并不完全支持 ADO.NET。是这样吗?

我的下一个问题出现在数据库支持之后。我发现很难从类库中管理会话/cookies/等。也许我误解了这些概念,或者没有找到合适的文档,但似乎几乎不可能在外部库中管理 Session/Cache/etc。是这样吗?还是我需要研究创建自定义中间件?

基本上,我需要从库中完全访问网站,这样我才能使用自己的代码来处理会话、数据管理等事务。

MVC 是 ASP.NET 唯一可用的选项吗?

最后,Visual Studio 2015 似乎在处理 .NET Core 应用程序时非常有问题并且速度很慢。这对我来说是一个主要的关闭,从界面到 NuGet 的一切似乎都很慢而且有故障。

非常感谢任何关于我应该去哪里或从 .NET 核心开始的建议或建议,我花了数周时间阅读文档和试验,但没有取得真正的进展。我真的很想远离网络表单!

【问题讨论】:

    标签: c# asp.net asp.net-core asp.net-core-middleware


    【解决方案1】:

    下周二(3/7/17)Visual Studio 2017 将发布,它完全集成了对 .NET Core 的支持。 VS15 现在有预览工具,这会导致您遇到很多故障。如果您在此过程的早期阶段,您可能还需要考虑立即转换到 VS17 RC,因为 .NET Core 1.1 比 1.0.1 更友好(在我看来,因为没有 project.json)。

    至于数据库交互,Entity Framework 背后的想法是,它比在程序之上拥有 DAL 或其他数据库服务层有了极大的改进。通过 EF Core 的中间件/DbContext,所有数据库交互都可以使用原始 SQL 或 LINQ(或两者)完成。通过这种交互,实际上不需要 DAL/ADO 层。

    Entity Framework 建立在 ADO.NET 之上,是对其他实体关系库的重大改进。请参阅下面 mason 在维基百科上对 ADO.NET 的评论,以更好地了解这一点。

    至于 cookie/会话,我对这类信息的经验并不丰富,但您可能想要研究的一件事是用于用户信息和会话的 ASP.NET 标识。 IdentityServer 4 是另一种选择。

    【讨论】:

    • ADO.NET(大部分)仍在 .NET Core 中。 EF 仍然建立在它之上。看看source
    • 哎呀,我的术语在那些东西上真的很糟糕。我将更新我的答案以更好地使用。谢谢!
    • 不用担心您的术语。我阅读了很多关于 Entity 框架的性能评论,但并没有给我留下深刻的印象。我只是更喜欢 ADONET,但我想我应该开始学习过程。很高兴知道由于预览工具,一切都很糟糕。我搞砸了 VS17 RC,但它导致了 VS15 的问题。我打算再试一次,因为那是几个月前的事了。谢谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-03-31
    • 2018-01-29
    • 2015-08-20
    • 1970-01-01
    • 2018-01-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多