[英]How to add Angular 2.0 to an existing ASP.NET MVC app
我有一个非常大的asp.net MVC 4.0应用程序,我想开始使用asp.net 5.0和Angular 2.0迁移到Web API。
主要原因是开始未来打样并将一些新组件设置为更现代的SPA架构。
我的计划是将现有站点的一小部分路由到显示一个Angular SPA应用程序,调用Web API来获取数据,而不是MVC控制器和函数。 对于本节,我不打算使用ASP.NET MVC功能,例如共享布局页面,捆绑,路由等,而是选择将其保留为角度。
我现有的MVC和新的Web api项目都将使用使用EF的数据层项目/存储库。
我的问题是:
谢谢你的时间。
过去6个月我们一直在这个过程中(唯一的区别是Angular,而不是Angular 2)。 这是我的意见......
现有站点的一小部分,当路由到显示一个Angular SPA应用程序调用Web API进行数据时,而不是MVC控制器和函数
非常困难,如果不是不可能的话,因为ASP.NET Core从根本上与MVC 4非常不同。我建议有一个运行Core和Angular的独立站点(在不同的端口上)。
我不打算使用ASP.NET MVC功能,例如共享布局页面,捆绑,路由等,而宁愿将其保留为角度。
这是我们的第一种方法,但为了实现它,我们需要预先加载大量的Javascript库,或者做动态加载的智能事物。 在Angular2中更容易(SystemJS允许动态加载内置于基础结构中)。 相反,我们将应用程序拆分为大约六个功能。 每个功能都有一个.NET控制器和一个视图(Index.cshtml)。 在该功能中,我们使用Angular功能进行路由,视图等。这种方法也帮助我们获得强类型视图。
我应该在访问同一个数据库的新域上使用单独的项目,还是整个单独的解决方案?
实体框架也有很大不同。 在我们的旧(非常旧)解决方案中,我们根本没有使用EF,所以这是一个更容易的决定。 但是,即使你在当前的解决方案使用EF,EF核心也是不同的动物,包括它的迁移方式。 我们更容易干净利落。
如何处理身份验证和授权?
我们的旧系统使用的是成员资格框架,我们团队中没有任何人熟悉OAuth。 因此,在等待IdentityServer 4(目前几乎没有文档)时,我建议您考虑使用StormPath或Auth0等SaaS解决方案(我们喜欢StormPath)。 如果您有使用IdentityServer的经验,则可以跳转到IdentityServer 4.由于我们使用的是MVC,因此我们的身份验证非常简单; 但我认为基于AJAX的身份验证不会那么困难。
希望有所帮助。 所以不喜欢“基于意见”的问题 - 但我认为有很多团队正在努力应对这种类型的过渡,希望这个问题和答案是合适的:)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.