c# – 如何将Angular 2.0添加到现有的ASP.NET MVC应用程序中
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了c# – 如何将Angular 2.0添加到现有的ASP.NET MVC应用程序中,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2410字,纯文字阅读大概需要4分钟。
内容图文
我有一个非常大的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的数据层项目/存储库.
我的问题是:
>这听起来怎么样?我找不到很多关于如何将角度引入现有应用程序的文献
>我应该在访问同一个数据库的新域上使用单独的项目,还是整个单独的解决方案?即,而不是迁移,在ASP.NET 5.0上启动新的解决方案
>如何处理身份验证和授权?我正在使用Identity v2.0,我可以混合使用,以便访问MVC站点上的页面的用户使用基于标准表单的身份验证,但是当访问Angular / API部分时,他们使用令牌吗?
谢谢你的时间.
解决方法:
过去6个月我们一直在这个过程中(唯一的区别是Angular,而不是Angular 2).这是我的意见……
a small section of the existing site which when routed to displays an Angular SPA app calling Web API for data, instead of the MVC controller and functions
非常困难,如果不是不可能的话,因为ASP.NET Core从根本上与MVC 4非常不同.我建议有一个运行Core和Angular的独立站点(在不同的端口上).
I’m not planning on using ASP.NET MVC features such as the shared layout page, bundling, routing etc, preferring to instead leave this to angular.
这是我们的第一种方法,但为了实现它,我们需要预先加载大量的Javascript库,或者做动态加载的智能事物.在Angular2中更容易(SystemJS允许动态加载内置于基础结构中).相反,我们将应用程序拆分为大约六个功能.每个功能都有一个.NET控制器和一个视图(Index.cshtml).在该功能中,我们使用Angular功能进行路由,视图等.这种方法也帮助我们获得强类型视图.
Should I use separate projects, or a whole separate solution on a new domain which accesses the same db?
实体框架也有很大不同.在我们的旧(非常旧)解决方案中,我们根本没有使用EF,所以这是一个更容易的决定.但即使你在当前的解决方案中使用EF,EF Core也是一种不同的动物,包括它的迁移方式.我们更容易干净利落.
How to I handles authentication and authorisation?
我们的旧系统使用的是成员资格框架,我们团队中没有任何人熟悉OAuth.因此,在等待IdentityServer 4(目前几乎没有文档)时,我建议您考虑使用StormPath或Auth0等SaaS解决方案(我们喜欢StormPath).如果您有使用IdentityServer的经验,则可以跳转到IdentityServer 4.由于我们使用的是MVC,因此我们的身份验证非常简单;但我认为基于AJAX的身份验证不会那么困难.
希望有所帮助.所以不喜欢“基于意见”的问题 – 但我认为有很多团队正在努力应对这种类型的过渡,希望这个问题和答案是合适的:)
内容总结
以上是互联网集市为您收集整理的c# – 如何将Angular 2.0添加到现有的ASP.NET MVC应用程序中全部内容,希望文章能够帮你解决c# – 如何将Angular 2.0添加到现有的ASP.NET MVC应用程序中所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。