范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文

从ASP。NETMVC迁移到ASP。NETCoreMVC

  从 ASP.NET MVC 迁移是一个多步骤过程。 本文介绍: 初始设置。 基本控制器和视图。 静态内容。 客户端依赖关系。
  若要迁移配置和 Identity 代码,请参阅将配置迁移到 ASP.NET Core并迁移身份验证和 Identity ASP.NET Core。 先决条件具有"ASP.NET 和 Web 开发"工作负载的 Visual Studio 2019 16.4 或更高版本 .NET Core 3.1 SDK 创建初学者 ASP.NET MVC 项目
  在 Visual Studio 中创建 ASP.NET MVC 项目的示例以进行迁移: 从"文件"菜单中选择"新建">"项目" 。 选择 "  ASP.NET Web 应用程序 (" .NET Framework ")  ,然后选择" 下一步 "。 将项目命名为  WebApp1  ,使命名空间与下一步中创建的 ASP.NET Core 项目相匹配。 选择"创建" 。 选择 "  MVC ",然后选择 "  创建 "。 创建 ASP.NET Core 项目
  使用要迁移到的新 ASP.NET Core 项目创建新的解决方案: 启动 Visual Studio 的第二个实例。 从"文件"菜单中选择"新建">"项目" 。 选择"ASP.NET Core Web 应用程序",然后选择"下一步" 。 在 "  配置新项目  " 对话框中,将项目命名为 "  WebApp1 "。 将位置设置为与上一个项目不同的目录,以使用相同的项目名称。 使用同一个命名空间可以更轻松地在两个项目之间复制代码。 选择"创建" 。 在"创建新的 ASP.NET Core Web 应用程序"对话框中,确认选择".NET Core"和"ASP.NET Core 3.1" 。 选择 "  Web 应用程序 (模型-视图-控制器)  " 项目模板,然后选择 "  创建 "。 将 ASP.NET Core 网站配置为使用 MVC
  在 ASP.NET Core 3.0 及更高版本的项目中,.NET Framework 不再是受支持的目标框架。 你的项目必须面向 .NET Core。 包含 MVC 的 ASP.NET Core 共享框架是 .net Core 运行时安装的一部分。 使用项目文件中的 Microsoft.NET.Sdk.Web SDK 时,会自动引用共享框架:
  XML 
  有关详细信息,请参阅 框架引用。
  在 ASP.NET Core 中, Startup 类: 替换  global.asax 。 处理所有应用启动任务。
  有关详细信息,请参阅 ASP.NET Core 中的应用启动。
  在 "ASP.NET Core" 项目中,打开 " 启动 .cs  " 文件:
  C# public class Startup {     public Startup(IConfiguration configuration)     {         Configuration = configuration;     }      public IConfiguration Configuration { get; }      // This method gets called by the runtime. Use this method to add services to the container.     public void ConfigureServices(IServiceCollection services)     {         services.AddControllersWithViews();     }      // This method gets called by the runtime. Use this method to configure the HTTP request pipeline.     public void Configure(IApplicationBuilder app, IWebHostEnvironment env)     {         if (env.IsDevelopment())         {             app.UseDeveloperExceptionPage();         }         else         {             app.UseExceptionHandler("/Home/Error");             // The default HSTS value is 30 days. You may want to change this for production scenarios, see https://aka.ms/aspnetcore-hsts.             app.UseHsts();         }         app.UseHttpsRedirection();         app.UseStaticFiles();          app.UseRouting();          app.UseAuthorization();          app.UseEndpoints(endpoints =>         {             endpoints.MapControllerRoute(                 name: "default",                 pattern: "{controller=Home}/{action=Index}/{id?}");         });     } }
  ASP.NET Core 应用必须选择包含中间件的框架功能。 上一个模板生成的代码添加以下服务和中间件: AddControllersWithViews扩展方法为控制器、API 相关的功能和视图注册 MVC 服务支持。 有关 MVC 服务注册选项的详细信息,请参阅 mvc 服务注册 UseStaticFiles扩展方法添加静态文件处理程序 Microsoft.AspNetCore.StaticFiles 。 UseStaticFiles必须先调用扩展方法 UseRouting 。 有关详细信息,请参阅 ASP.NET Core 中的静态文件。 UseRouting扩展方法将添加路由。 有关详细信息,请参阅 ASP.NET Core 中的路由。
  此现有配置包括将示例 ASP.NET MVC 项目迁移所需的内容。 有关 ASP.NET Core 中间件选项的详细信息,请参阅 ASP.NET Core 中的应用启动 。 迁移控制器和视图
  在 ASP.NET Core 项目中,将添加新的空控制器类和视图类作为占位符使用与要从中进行迁移的任何 ASP.NET MVC 项目中的控制器和视图类相同的名称。
  ASP.NET Core  WebApp1  项目已包含与 ASP.NET MVC 项目相同的名称的最小示例控制器和视图。 这将用作 ASP.NET mvc 控制器的占位符,以及要从 ASP.NET mvc  WebApp1  项目迁移的视图。 复制 ASP.NET MVC 中的方法 HomeController 以替换新的 ASP.NET Core HomeController 方法。 无需更改操作方法的返回类型。 ASP.NET mvc 内置模板的控制器操作方法返回类型为 ActionResult ; 在 ASP.NET Core MVC 中,操作方法将改为返回 IActionResult 。 ActionResult 可实现 IActionResult。 在 ASP.NET Core 项目中,右键单击 " 视图"/ Home  "目录",然后选择 " 添加  >  现有项 "。 在 " 添加现有项 " 对话框中,导航到 ASP.NET MVC  WebApp1  项目的 " 视图" 或 Home  "目录"。 选择 " 关于   ",然后依次选择 "  Razor  添加 "、"替换现有文件"。
  有关详细信息,请参阅 在 ASP.NET Core MVC 中使用控制器处理请求 和 ASP.NET Core MVC 中的视图。 测试每个方法
  可以测试每个控制器终结点,但在本文档的后面部分介绍了布局和样式。 运行 ASP.NET Core 应用。 通过将当前端口号替换为 ASP.NET Core 项目中使用的端口号,在运行 ASP.NET Core 应用程序的浏览器中调用呈现的视图。 例如,https://localhost:44375/home/about。 迁移静态内容
  在 ASP.NET MVC 5 及更早版本中,静态内容是从 web 项目的根目录承载的,与服务器端文件混合。 在 ASP.NET Core 中,静态文件存储在项目的web 根目录中。 默认目录为  {content root}/wwwroot ,但可以对其进行更改。 有关详细信息,请参阅 ASP.NET Core 中的静态文件。
  将 ASP.NET MVC  WebApp1  项目中的静态内容复制到 ASP.NET Core  WebApp1  项目中的  wwwroot  目录: 在 ASP.NET Core 项目中,右键单击  wwwroot  目录,选择 " 添加  >  现有项 "。 在 " 添加现有项 " 对话框中,导航到 ASP.NET MVC  WebApp1  项目。 选择  favicon  文件,然后选择 "  添加 ",替换现有文件。 迁移布局文件
  将 ASP.NET MVC 项目布局文件复制到 ASP.NET Core 项目: 在 ASP.NET Core 项目中,右键单击 " 视图 " 目录,选择 " 添加  >  现有项 "。 在 " 添加现有项 " 对话框中,导航到 ASP.NET MVC  WebApp1  项目的 " 视图 " 目录。 选择  _ViewStart  的文件,然后选择 "  添加 "。
  将 ASP.NET MVC 项目共享布局文件复制到 ASP.NET Core 项目: 在 ASP.NET Core 项目中,右键单击 " 视图"/"共享 " 目录,选择 " 添加  >  现有项 "。 在 " 添加现有项 " 对话框中,导航到 ASP.NET MVC  WebApp1  项目的  视图/共享  目录。 选择  _Layout  的文件,然后选择 "  添加 ",替换现有文件。
  在 ASP.NET Core 项目中,打开  _Layout。  进行以下更改,使其与下面显示的已完成代码相匹配:
  更新启动 CSS 包含项以匹配以下已完成的代码: 替换为 @Styles.Render("~/Content/css")  加载  启动 .css  的元素 (参阅下面的) 。 删除 @Scripts.Render("~/bundles/modernizr")。
  已完成的启动 CSS 包含的替换标记:
  HTML 
  更新 jQuery 和启动 JavaScript 包含项以匹配以下已完成的代码: 替换 @Scripts.Render("~/bundles/jquery") 为   
  更新后的 _Layout cshtml 文件如下所示:   CSHTML @ViewBag.Title - My ASP.NET Application @Html.ActionLink("Application name", "Index", "Home", new { area = "" }, new { @class = "navbar-brand" }) @RenderBody()

@DateTime.Now.Year - My ASP.NET Application

@RenderSection("scripts", required: false)   在浏览器中查看站点。 它应采用所需的样式进行呈现。 配置捆绑和缩小   ASP.NET Core 与若干开源绑定和缩减解决方案(例如WebOptimizer和其他类似库)兼容。 ASP.NET Core 不提供本机捆绑和缩小解决方案。 有关配置绑定和缩减的信息,请参阅 捆绑和缩减。 解决 HTTP 500 错误   有许多问题可能会导致 HTTP 500 错误消息,其中不包含问题根源的相关信息。 例如,如果 Views/_ViewImports cshtml 文件包含项目中不存在的命名空间,则会生成 HTTP 500 错误。 默认情况下,在 ASP.NET Core 应用中, UseDeveloperExceptionPage 会将扩展添加到, IApplicationBuilder 并在 开发 环境时执行。 下面的代码对此进行了详细说明:   C# public class Startup { public Startup(IConfiguration configuration) { Configuration = configuration; } public IConfiguration Configuration { get; } // This method gets called by the runtime. Use this method to add services to the container. public void ConfigureServices(IServiceCollection services) { services.AddControllersWithViews(); } // This method gets called by the runtime. Use this method to configure the HTTP request pipeline. public void Configure(IApplicationBuilder app, IWebHostEnvironment env) { if (env.IsDevelopment()) { app.UseDeveloperExceptionPage(); } else { app.UseExceptionHandler("/Home/Error"); // The default HSTS value is 30 days. You may want to change this for production scenarios, see https://aka.ms/aspnetcore-hsts. app.UseHsts(); } app.UseHttpsRedirection(); app.UseStaticFiles(); app.UseRouting(); app.UseAuthorization(); app.UseEndpoints(endpoints => { endpoints.MapControllerRoute( name: "default", pattern: "{controller=Home}/{action=Index}/{id?}"); }); } }   ASP.NET Core 将未经处理的异常转换为 HTTP 500 错误响应。 通常,这些响应中不包含错误详细信息,以防止泄露有关服务器的可能敏感信息。 有关详细信息,请参阅 开发者异常页
媒体断章取义!工程院院士一个国家做一个光刻机是不现实的?前言在阅读这篇文章之前,请大家关注订阅我的频道。我的写作动力,完全来自于大家的支持!好内容天天有,关注不迷路!吴汉明是谁?中国工程院院士,中芯国际集成电路制造有限公司技术研发副总裁特斯拉在挪威被罚款,因限制电动车充电速度4月的销量榜单,特斯拉销量下滑,然而一波未平一波又起,日前挪威一家法院裁定,特斯拉由于在后台使用软件升级,限制特斯拉电动车充电速度及电池容量而被判罚,将向每位涉及的特斯拉车主赔偿1扫码支付终将退出舞台,新支付模式已在全国兴起在如今的互联网时代,移动支付已变得越来越流行。与以前相比,现在我们外出时不用带钱包,仅仅靠一部智能手机就能够完成所有的消费。极大地方便了生活,提升了支付效率,可以说,扫码支付已经成无硝烟的电池争夺战!世界巅峰的日本,是怎么输给中国的?2009年,如果有人问起在动力电池领域新能源车的发展上,谁敢拍胸脯说自己独步全球?那么一定是日本。在那段时期,有中国汽车界的专业人士到日本考察新能源车的发展情况。他们惊讶地发现,不三安光电露笑科技华润微谁是第三代半导体龙头?周末的科协两院院士大会规格很高,7巨头集体出席,新闻联播占用20分钟时间播报。基本可以表明科技创新在目前我国的政策地位了。总结一下领导们的发言,大概可以认为第三代半导体与半导体材料硕士毕业,拿到了西安华为和荣耀的offer,该如何选择?去华为。荣耀从华为分出去后,人力资源和管理体系必然会有变化。华为的体系化是国内的科技公司无法比的在华为里,不光是研发水平会有提高,流程人事资源和你周围的人都能带给你帮助荣耀刚被拆分特斯拉和他的信徒们特斯拉信仰三部曲强调自身优越性,于是信徒也较普通人优越,绑定一种特别的生活方式,最终信徒自愿付费。文李瀚明编辑王静仪自从上期的文章刊发(详见警惕车上的第二决策人人机对抗带来的刹车风现在华为和苹果都开始使用京东方屏幕,京东方有可能成为以后手机屏的领导者和主宰者吗?不是有可能,是一定!早在华为扶持京东方之时,笔者就预料到京东方会越来越强大,当时笔者还建议大家去买京东方的股票,却被一群喷子骂了个狗血喷头。但自华为Matex发布后,京东方A股涨停与戴姆勒再度合作,由吉利负责工程开发的电动smart,你会买吗?因为吉利,Smart再一次走入中国人的视线,而这一次的并非产品层面。往次出现最多关于吉利的爆炸性新闻无非又收购了哪家知名汽车公司,而这一次吉利与戴姆勒并非收购事宜,而是合作,双方将中国有赞率先腾飞的SaaS服务商,核心业务发展强劲来源格隆汇2019年3月27日,中国有赞(8083。HK)公布了其并购上市后的首份年报。中国有赞是中国率先腾飞的SaaS服务商,致力于为商家提供一站式解决方案。2018年4月中国有Python实现12306自动抢票,并发短信邮件通知!实现思路是splinter。browser模拟浏览器登陆和操作,由于12306的验证码不好自动识别,所以,验证码需要用户进行手动识别,并进行登陆操作,之后的事情,就交由脚本来操作就
IQOO9王者归来全新一代骁龙8,全系标配120W闪充说到iqoo相信很多人对他都是情有独钟,而且它还是一台官方比赛用机,这都是它加分的项。搭载全新一代骁龙8处理器素有性能铁三角的称号相信大部分人都不陌生。相比上一代GPU提升60AI库克接手苹果的这十年2022年伊始,苹果创造了历史,成为了美国首家市值突破3万亿美元的公司。在疫情反复和美联储紧缩造成的不确定下,拥有着充足现金流的苹果成为了投资者安全的避风港。到此时,蒂姆库克掌管苹技术创新是企业核心竞争力企业是否具备创新技术往往对其发展有着决定性的作用,技术创新是企业保持长久市场竞争优势的重要途径。因此,企业应把发展更核心的竞争力,也就是技术创新放在最重要的位置。1998年,人们惊面试官编写一个SQL查询,找出每个部门工资第二高的员工今天我们来看看大数据开发中rownumber函数。作为一名程序员,求职面试时时常会遇到需要编写一些基础的sql,编写sql这样做的目的主要是考验求职者的逻辑思维及编写sql基础能力ios15。2。1更新了什么修复了哪些问题ios15。2。1这是iPhone最新推出的操作系统,可以为用户提供很好的手机界面使用,同时也修复了部分的bug,那么这次的版本更新修复了哪些问题?还值得更新吗?ios15。2。1汇付天下发布全新战略定位,引领数字化支付近日,国内领先的第三方支付公司汇付天下发布全新战略定位引领数字化支付,为企业收款和资金管理提供平台服务。全新定位的发布,意味着这家拥有16年发展历史的老牌支付公司正在积极拥抱数字化今日区块链资讯1。1月13日消息,美联储官员克利夫兰联储主席梅斯特称,美国的通胀压力已经变得更加广泛,美联储有责任采取必要措施,摆脱非常规宽松政策。如果前景保持不变,将支持3月份加息。梅斯特还表华泰证券关注元宇宙发展与布局推荐小米集团W(01810)智通财经APP获悉,华泰证券发布研究报告称,由于疫情,此次的CES2022较往年有所缩水,不仅提前一天闭幕,参展厂商从疫情前5000余家(2020年)减少至今年的2300家,包括谷苹果手机上那些让安卓望尘莫及的细节这里是知科技app,如果觉得本文有用,欢迎点赞关注我。往期精彩回顾如何长时间保存重要数据?拒绝U盘,拒绝网盘之前写过Windows上那些Mac拍马也追不上的细节那么Apple上有哪iOS15。2。1正式版发布老机型升级焕发活力!新机型更加流畅今天凌晨苹果向正式版用户推送了iOS15。2。1正式版系统更新,距离上次更新间隔时间拉长了不少,相比苹果在闷声修补各种漏洞和bug,不过根据升级的网友的升级反馈来看,各方面都有所提称苹果芯片团队又一重要设计师被挖走?这次是微软1月13日消息,据国外媒体报道,在M1开发团队的领导者杰夫威尔科克斯(JeffWilcox)被英特尔挖走之后不到一周,又出现了苹果芯片团队又一重要设计师被微软挖走的消息。外媒是援引