c# – AngularJS应用程序可以使用哪种.NET服务器端技术?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了c# – AngularJS应用程序可以使用哪种.NET服务器端技术?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2533字,纯文字阅读大概需要4分钟。
内容图文
我正在尝试使用AngularJS创建我的第一个Web应用程序.我习惯使用ASP.NET MVC 4,所以我想我会在服务器端使用它而在客户端使用Angular.但在观看视频和进行研究后,似乎将这两者混合起来是错误的.其中一个原因是路由:Angular以自己的方式路由,ASP.NET MVC也是如此.
那么,对于熟悉ASP.NET MVC的人来说,前端的Angular可以使用哪种服务器端Web技术?我正在Visual Studio 2013中创建一个新项目,这些是我的选择:
注意:我不是在争论为什么一个选择比另一个更好;我只是希望听到可用的可能性.我可以从那里调查.
注2:我也可以使用Angular seed template,我可能会,但这并不能回答在服务器端使用什么的问题.
编辑
在这种情况下使用ASP.NET Web API可能有意义吗?见https://stackoverflow.com/a/21098169/279516.
解决方法:
对我而言,您似乎正在尝试制作单页应用程序.我理解你对路由的困惑,所以我将解释我们是如何做到的.
我们有一个ASP.NET MVC5项目,它也托管ASP.NET Web API 2.我们所有的MVC5路由都由单个控制器中的单个动作处理:
routes.MapRoute("CatchAll", "{*url}",
new { controller = "Home", action = "Index" }
);
此操作返回一个视图,此视图是使AngularJS应用程序工作所需的基本HTML.这个HTML包含所需的CSS和JavaScript文件(框架和应用程序逻辑,如控制器,指令,服务等),并在正文中包含一些基本的HTML,如页眉,页脚和ng-view元素,其中每个路径的视图你映射的地图.
现在,使用ASP.NET Web API,我们实现了AngularJS应用程序使用的REST Web服务.这些Web服务返回了AngularJS很好理解的JSON对象,您将在JavaScript应用程序中使用它们而不会产生任何摩擦.
总而言之,您将在浏览器中点击的任何链接,如/ Home / Index,/ Home / Friends,/ Account / Settings等,服务器将始终返回相同的HTML,AngularJS将读取URL并执行相应的控制器以及您在应用程序中配置的适当视图.
要阅读有关单页应用程序的更多信息:http://en.wikipedia.org/wiki/Single-page_application
要使用AngularJS阅读有关单页应用程序的更多信息:http://scotch.io/tutorials/javascript/single-page-apps-with-angularjs-routing-and-templating2
要阅读有关REST服务的更多信息,请访问:http://www.vinaysahni.com/best-practices-for-a-pragmatic-restful-api
这不是故事的结尾.我说你遇到的任何路由,服务器将始终返回相同的HTML.那么为什么要使用ASP.NET MVC5呢?这个基本的HTML可以是一个静态文件,对吧?
嗯,这个概念在搜索引擎优化方面不起作用.搜索引擎机器人没有执行JavaScript,所以他们希望他们所需要的只是你的路线(链接)上的那一次点击.此外,Facebook不执行JavaScript,但也期望HTML特定于用户试图共享的页面.
因此,我们所做的是在服务器端创建与在AngularJS上映射的路由相同的路由,并为每个操作添加过滤器.此过滤器检查是否从浏览器发出请求,它为每个操作返回相同的HTML.如果是来自Google或Bing bot或Facebook刮刀的请求,则过滤器允许执行操作,并且操作会返回该路线的相应HTML.这个HTML非常基本,结构非常好,可以被Google,Bind和Facebook理解,并且不包含任何CSS或JavaScript.
内容总结
以上是互联网集市为您收集整理的c# – AngularJS应用程序可以使用哪种.NET服务器端技术?全部内容,希望文章能够帮你解决c# – AngularJS应用程序可以使用哪种.NET服务器端技术?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。