大家好,感谢邀请,今天来为大家分享一下免费的asp源码分享网站的问题,以及和asp源码软件的一些困惑,大家要是还不太明白的话,也没有关系,因为接下来将为大家分享,希望可以帮助到大家,解决大家的问题,下面就开始吧!
原文|Ken
翻译|郑子铭
随着.NET6的发布,使用ASP.NETCore可以获得更多好处。但是将现有代码迁移到ASP.NETCore通常听起来像是一项巨大的投资。今天我们将分享如何加速向ASP.NETCore的迁移。您今天可以进行一些细微的更改,以便明天更轻松地迁移到ASP.NETCore。
在我们开始之前,让我们先谈谈一个真实的场景。让我们谈谈如何修改一个有10年历史的应用程序中的代码,以便它可以与ASP.NETCore共享。在接下来的部分中,我们将提供从用于演示ASP.NETMVC3的MVC音乐商店应用程序迁移ShoppingCartController.cs的示例。
迁移此Web应用的第一步是创建一个新的ASP.NETCoreWeb应用(模型-视图-控制器)项目。此模板将添加对控制器的支持,并在Program.cs文件中映射控制器的默认路由。一旦我们有了新的项目设置,我们将删除默认的HomeController以及Home/Index和Home/Privacy的视图文件,以便我们可以从MVC3MusicStoreWeb应用程序共享内容而不会发生冲突。
您可以共享控制器
您可以在两个项目之间共享的第一件事是控制器。许多团队希望新网站与当前网站一样工作。当我们说“相同”时,我们的意思是“相同”。如果您修复了一个项目中的错误,那么您需要相同的修复程序出现在两个站点中。确保这种行为的最简单方法之一是在两个项目中共享同一个文件。幸运的是ASP.NETCore使用了新的SDK风格的项目文件。这意味着很容易打开csproj文件并添加一些更改,因为这些文件非常易读。
要开始共享控制器类,您需要创建一个并添加对现有类的引用。这是一个示例,展示了如何通过更新ASP.NETCore项目的csproj文件来共享ShoppingCartController.cs。
<ItemGroup>\n<CompileInclude=&34;LinkBase=&34;/>\n</ItemGroup>\n
好的,现在该文件已包含在项目中,但您可能已经猜到ASP.NETCore项目不再编译了。在ASP.NETCore中,Controller类不使用System.Web.Mvc,而是使用Microsoft.AspNetCore.Mvc。
下面的示例展示了ShoppingCartController.cs如何使用这两个命名空间来修复该编译器错误。
else\nusingSystem.Web.Mvc;\n预处理器指令,我们可以使类足够灵活,可以为两个项目进行编译。
对于有大量代码对ASP.NETCore工作方式不同的场景,您可能需要创建特定于实现的文件。一个好的方法是创建一个部分类并将这些代码块提取到两个Web应用程序目标之间不同的新方法中,并使用csproj来控制在构建项目时包含哪些文件。
您可以共享模型
现在我们可以共享控制器,我们想要共享它们返回的模型。在许多情况下,当我们通过向csproj文件添加另一个来包含它们时,这才开始起作用。但是,如果您的模型也引用System.Web,那么我们可以使用刚刚用于控制器的相同方法。首先更新命名空间,以便相同的类文件可以存在于两个项目中。继续使用Cif!NET\n[Bind(Exclude=&34;)]\nifNET\n[BindNever]\n预编译器指令来使文件足够灵活以供两个项目使用。
下面是一个母版页,它混合支持来自ASP.NET的子操作和来自ASP.NETCore的视图组件,这样我们就可以渲染已知购物车中有多少商品的页面部分。
@{\n34;CartSummary&else\n@Html.RenderAction(&34;,&34;);\n#endif\n}\n
打包
共享代码的能力还包括CSS、JavaScript和图像等静态内容。现在,您可以逐步在您的Web应用程序中构建灵活性,以使您更轻松地迁移到ASP.NETCore。
如果您想要更详细的指导来迁移整个ShoppingCartController.cs,您可以在MvcMusicStoreMigration上使用示例进行完整的演练。该演练还将演示如何从同一个IIS应用程序池运行ASP.NET和ASP.NETCore,以一次增量地迁移Web应用程序一个控制器。
对于那些计划开始进行ASP.NETCore迁移的人,我们将分享一些更多技巧。
升级您的NuGet包,以便您可以使用netstandard。将您的类库更改为netstandard,以便您可以在ASP.NET和ASP.NETCore之间共享代码。在您的类库构建接口中查找对System.Web的引用替换它们。使用依赖注入,以便您可以轻松地在ASP.NET和ASP.NETCore功能之间切换。
您还可以在从ASP.NET迁移到ASP.NETCore的文档中找到更多指导。
原文链接
SharingcodebetweenASP.NETandASP.NETCore
END,本文到此结束,如果可以帮助到大家,还望关注本站哦!