Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/277.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何将Angular 2.0添加到现有ASP.NET MVC应用程序_C#_Asp.net_Angularjs_Asp.net Mvc - Fatal编程技术网

C# 如何将Angular 2.0添加到现有ASP.NET MVC应用程序

C# 如何将Angular 2.0添加到现有ASP.NET MVC应用程序,c#,asp.net,angularjs,asp.net-mvc,C#,Asp.net,Angularjs,Asp.net Mvc,我有一个非常大的asp.net MVC 4.0应用程序,我想用asp.net 5.0和Angular 2.0开始迁移到Web API 主要原因是开始进行未来验证,并将一些新组件设置为更现代的SPA架构 我的计划是在现有站点上有一小部分,当路由到显示一个调用Web API获取数据的Angular SPA应用程序时,它将代替MVC控制器和函数。在本节中,我不打算使用ASP.NET MVC特性,如共享布局页面、绑定、路由等,而是将其留给angular 我现有的MVC和新的WebAPI项目都将使用使用E

我有一个非常大的asp.net MVC 4.0应用程序,我想用asp.net 5.0和Angular 2.0开始迁移到Web API

主要原因是开始进行未来验证,并将一些新组件设置为更现代的SPA架构

我的计划是在现有站点上有一小部分,当路由到显示一个调用Web API获取数据的Angular SPA应用程序时,它将代替MVC控制器和函数。在本节中,我不打算使用ASP.NET MVC特性,如共享布局页面、绑定、路由等,而是将其留给angular

我现有的MVC和新的WebAPI项目都将使用使用EF的数据层项目/存储库

我的问题是:

  • 这听起来怎么样?我找不到多少关于如何将angular引入现有应用程序的文献
  • 我应该在访问同一数据库的新域上使用单独的项目,还是整个单独的解决方案?Ie,而不是迁移,在ASP.NET 5.0上启动一个新的解决方案
  • 如何处理身份验证和授权?我使用的是Identity v2.0,我是否可以将其混合使用,以便访问MVC站点页面的用户使用基于标准表单的身份验证,但在访问Angular/API部分时,他们使用令牌

  • 感谢您的时间。

    过去6个月我们一直在这个过程中(唯一的区别是角度,而不是角度2)。这是我的意见

    现有站点的一小部分,当路由到该站点时,将显示一个调用Web API以获取数据的Angular SPA应用程序,而不是MVC控制器和函数

    非常困难,如果不是不可能的话,因为ASP.NET内核与MVC4有着本质上的不同。我建议有一个单独的站点(在不同的端口上),运行Core和Angular

    我不打算使用ASP.NETMVC特性,如共享布局页面、捆绑、路由等,而是将其留给angular

    这是我们的第一种方法,但为了实现它,我们需要预加载许多Javascript库,或者为动态加载做一些聪明的事情。Angular2更简单(允许动态加载的SystemJS内置在基础设施中)。相反,我们将应用程序拆分为大约六个功能。每个功能都有一个.NET控制器和一个视图(Index.cshtml)。在该功能中,我们使用角度功能进行布线、视图等。这种方法还帮助我们拥有强类型视图

    我应该在访问同一数据库的新域上使用单独的项目,还是整个单独的解决方案

    实体框架也有很大不同。在我们的旧(非常旧)解决方案中,我们根本没有使用EF,所以这是一个更容易的决定。但即使您在当前的解决方案中使用EF,EF Core也是一种不同的动物,包括它进行迁移的方式。对我们来说,干净的伤口要容易得多

    如何处理身份验证和授权

    我们的旧系统使用成员框架,团队中没有熟悉OAuth的人。因此,在等待标识服务器4(目前几乎没有文档)时,我建议您考虑SaaMaScript或Auto0(我们喜欢StrimPATH)的SaaS解决方案。如果您有使用IdentityServer的经验,您可以跳转到IdentityServer 4。因为我们使用的是MVC,所以我们的身份验证非常简单;但我认为基于AJAX的身份验证不会那么困难


    希望有帮助。所以我不喜欢“基于意见”的问题——但我认为有很多团队正在努力进行这种类型的转换,希望这个问题和答案是合适的:)

    非常感谢,这非常有帮助。那么……呃,你是否曾成功地将angular应用程序添加到较旧的mvc项目中?我们决定不尝试