MVC 推荐的资源
作者: 里克·安德森
在 ASP.NET MVC 论坛或 stackoverflow 中,可以回答问题或找到解决问题的解决方案。
ASP.NET MVC 入门
- ASP.NET MVC 5 简介
- ASP.NET MVC 简介(Pluralsight 视频)
- ASP.NET MVC 概述
- 免费 6 小时在线课程 - 开发 ASP.NET MVC 4 Web 应用程序快速入门
- 学习 MVC - 第 1 部分:MVC 体系结构简介和关注点分离
- 海报: ASP.NET MVC 5 应用程序的生命周期
新增特色内容
- 在 ASP.NET 中选择本地化区域性
- 使用 Facebook 和 Google OAuth2 登录创建 ASP.NET MVC 5 应用
- ASP.NET MVC 5 应用程序的 生命周期(PDF)
- 不得在 ASP.NET 中执行的操作和转而应执行的操作
- 发布 SocialGoal - 用于 ASP.NET MVC 5、EF 6 Code First、AutoMapper、Autofac、TDD 和 DDD 的引用 Web 应用
- 使用 Azure 构建真实云应用
Microsoft Azure
//build/ 2014 中的视频:(Azure 和 Visual Studio)
- 深入了解 David Ebbo 为 Azure 网站提供的隐藏宝石、提示和技巧
- Scott Hanselman、Scott Hunter 在 Visual Studio 2013 Update 2 和 Beyond 中 ASP.NET 和 Web 的新增功能
- 避免云失败:使用 Mark Russinovich 学习 Azure 的错误
- 深入探讨:提高利维·布罗德里克 ASP.NET 应用中的性能
- Visual Studio 和 Azure SDK Dan Fernandez、Paul Yuknewicz(MSFT)中 Azure 开发人员的新增功能
- Microsoft Azure 存储 – 新增功能、最佳做法和模式 Jai Haridas、Serdar Ozler
- Visual Studio 2013 中由 Cathy Sullivan 提供的提示和技巧
- 通过 Brady Gaster、Joe Levy 在 Azure 中使用新 SDK、工具和服务实现无处不在的自动化
- 构建大:克里斯·克莱顿从 Azure 客户 中吸取的教训,马克·西姆斯
- 通过 David Catuhe、Jon Galloway 构建具有 ASP.NET 和 AngularJS 的单页应用程序
- 设计和实现架构师的混合云解决方案
- Azure 资源组模型:Gautam Thapar、Nathan Totten 的现代云 新式管理
- 使用 Daniel Roth ASP.NET Web API 2.1 生成移动应用的 Web API
- Lucas Adams、Stuart Kwan 的 Web、移动和云应用程序的新身份验证模型
- 将本地网络扩展到 Azure Securely Ganesh Srinivasan
- Dan Fernandez、Mads Kristensen 的 Web 开发人员的新增功能
- 使用 Visual Studio 和 Web Essentials Mads Kristensen 生成新式 Web 应用程序
- 使用基于云的负载测试服务和 Application Insights 查找 Charles 斯特林的规模和性能
- 使用 Visual Studio 通过 Boris Scholl 诊断 Azure 中托管的云应用程序的问题
- 使用 Vlad Joanovic 通过 Application Insights 快速检测应用程序中断
- Azure 网站:构建大规模现成企业Web 应用 Yochay Kiriaty
- Azure SQL 数据库:在胡德·图比亚斯·特恩斯特伦的下面
安全性
- 使用 Facebook 和 Google OAuth2 登录创建 ASP.NET MVC 5 应用
- 不得在 ASP.NET 中执行的操作和转而应执行的操作
- 如何构建(以及如何不生成)特洛伊亨特的安全“记住我”功能
- 视频: Lucas Adams、Stuart Kwan 为 Web、移动和云应用程序提供的新身份验证模型
- 视频:使用 Azure Active Directory 生成企业和 SaaS Web 应用和 Web API,供 Vittorio Bertocci 登录
- ASP.NET 标识 2.0.0
- ASP.NET MVC 5 标识:扩展和修改角色
- 在 ASP.NET MVC 5 中使用 IAuthenticationFilter
- Levi 对安全性 的 stackoverflow 线程
- KnockoutJS 和 ASP.NET MVC – 备用技术和使用防伪造令牌
- ASP.NET MVC 5 身份验证筛选器
- ASP.NET MVC 中的安全性
- 保护 ASP.NET MVC 4 应用
- ASP.NET MVC 和网页中的 XSRF/CSRF 预防
- 面向 .NET 开发人员的 OWASP 前 10 名
- 通过 MVC 4 使用 OAuth 提供程序
- 亚当·图利珀撰写的 2011 年 12 月 MSDN 杂志文章对 ASP.NET 应用程序 进行黑客验证
- 保护你的 ASP.NET 应用程序 2012 年 1 月 MSDN 杂志文章由 Adam Tuliper
- 防止打开重定向攻击
- 如何使用 ASP.NET MVC 创建 Intranet 站点
- 用于加密查询字符串的 ASP.NET MVC 值提供程序
- HaaHa秀:Microsoft与哈克和汉塞尔曼 ASP.NET MVC 安全(视频)
- ASP.NET 中的声明感知用户标识
- 将自定义角色添加到 ASP.NET 中的 Windows 角色
- 创建自定义路由约束
- 在 ASP.NET MVC 4 中实现基于角色的菜单
成员身份、身份验证
- 使用 OAuth、成员身份和SQL 数据库部署安全 ASP.NET MVC 应用程序
- SimpleMembership、Membership Providers、通用提供程序 和新的 ASP.NET 4.5 Web 窗体和 ASP.NET MVC 4 模板
- 在 ASP.NET MVC 4 中自定义 SimpleMembership
- 成员身份与表单身份验证不同
- 考虑使用 MembershipProvider (和 SimpleMembership)
- 使用 Google Authenticator 实现 MVC 双因素身份验证
- new
- ASP.NET 标识和 Azure 表存储
OWIN 和 Katana
ASP.NET MVC 中的数据访问
- 使用 ASP.NET MVC 开始使用实体框架
- ASP.NET 数据访问内容映射
- 使用 EF 和 Web API 生成 ASP.NET MVC4 应用程序
- ASP.NET MVC 和 KnockoutJS 中的 DataList
Web 窗体到 MVC
- 使用 ASP.NET Web API 将 ASP.NET Web 窗体迁移到 MVC 模式
- Matthew Kane 的视频, MVC 和 WebForms 的深度集成
- ASP.NET MVC - 生活在 Web 窗体世界中
- Web 窗体到 MVC
- 集成 ASP.NET Web 窗体和 ASP.NET MVC
- 在现有 Web 窗体项目中采用 ASP.NET MVC 增强功能
性能
- 视频: 深入探讨:通过利维·布罗德里克改进 ASP.NET 应用中 的性能
- 视频: 使用基于云的负载测试服务和 Application Insights 查找 Charles 斯特林的缩放和性能
- 在 ASP.NET MVC 4 中使用异步方法
- 捆绑、缩小和优化
- 使用 CDN 和过期来提高网站性能
- MVC 中的异步文件上传
- 视频:高性能 Web 平台:Tobin Titus 提供的实际问题和解决方案
- 视频:获取性能问题和故障的早期警告,并查明布雷特·格林斯莱德、弗拉德·乔诺维奇的应用程序原因
- http://webdevchecklist.com/asp.net/performance/
- ASP.NET MVC 视图模型:实体框架和 JSON 序列化 Nandip Makwana 通过消除不必要的子实体序列化来增强性能(降低 CPU 使用率)的一个很好的提示
- 斯蒂芬·Cleary 在 ASP.NET 中的异步和 Await
- 使用 Glimpse 调试和性能
- 使用异步分部视图提高 ASP.NET MVC 网站的感知性能
- ASP.NET 4.5 和 MVC 4:重新访问 IBundleTransform
- ASP.NET MVC 4:用于捆绑和静态资源的无 Cookie 域
- ASP.NET 捆绑和缩小的高级选项
- 有关 debug=“false”重要性的严酷提醒
- ELMAH 和 MiniProfiler in ASP.NET MVC 4
- 使用 CDN 和过期来提高网站性能
- 捆绑和缩小内联 CSS 和 JavaScript
- ASP.NET 中的异步(视频)
- 捆绑和优化 (视频)
- ASP.NET MVC 4 - 从操作方法对外部服务进行异步调用
AngularJS、敲门、敲门JS
- 淘汰赛
- ASP.NET MVC 中的 KnockoutJS 入门
- 通过 Marius Schulz 从 ASP.NET MVC 启动具有服务器端数据的 AngularJS 应用程序
- ASP.NET MVC 中的 TypeScripted 敲门
- ASP.NET MVC 和 KnockoutJS 中的 DataList
- 带有 knockout.js 和 ASP.NET MVC 的级联下拉列表
- 从 ASP.NET MVC 加载 KnockoutJS 视图模型,以便更快地加载页面
- 使用 Knockout 和 ASP.NET MVC 的主-详细信息视图
- AngularJS – 在 ASP.NET MVC 应用中使用 $resource 服务发布数据
jQuery, Ajax, JSON, JavaScript
- 为 ASP.NET MVC 创建 JavascriptResult
- 将 .NET 服务器端数据传递给 Marius Schulz 的 JavaScript
- 使用 Marius Schulz 的部分 Razor 视图 生成外部 JavaScript 文件
- ASP.NET MVC:使用 JQuery 和 Ajax 在表单提交上显示忙碌指示器
- 使用自定义数据属性在 ASP.NET MVC 中存储 JSON 数据
- MVC 4 链接仍与 MVC 5 相关
- 将 JSON 发送到操作方法
- 使用 jQuery 生成丰富的用户界面
- 自动将 DataTable 列填充到由 Sheo Narayan ASP.NET MVC 中的视图
- 将 HTML5 和 jQuery UI Datepicker 弹出窗口日历与 ASP.NET MVC 配合使用
- 通过 ASP.NET MVC 使用 DropDownList 帮助程序
- 将 DropDownListFor 与 ASP.NET MVC 配合使用
- ASP.NET MVC 中的 DropDownList 帮助程序数据绑定
- 显示如何使用 JavaScript 和 Ajax 的 Pluralsight 视频
- ASP.NET MVC 中的级联 DropDownList
- 用于 ASP.NET MVC 的 CascadingDropDown jQuery 插件
- 使用 jQuery UI、WebAPI 和 JsRender ASP.NET MVC 中的客户端进度栏
- 使用 jQuery ASP.NET MVC Ajax – 快速入门示例
- 使用 ASP.NET MVC 4 和 jQuery 创建级联 DropDownList
HTML5
- 将 HTML5 和 jQuery UI Datepicker 弹出窗口日历与 ASP.NET MVC 配合使用
- 使用 HTML5 设计辅助功能
- 使用 ASP.NET MVC 4 和 jQuery Mobile 生成移动友好 HTML5 窗体
- 将 HTML5 集成到现有 ASP.NET Web 窗体和 MVC 应用程序
路由
- ASP.NET MVC 5 中的属性路由
- ASP.NET MVC 5 应用程序的 生命周期(PDF)
- 使用约束在 MVC 中更好地路由
- 深入:ASP.NET MVC 管道
- ASP.NET MVC 路由
- ASP.NET MVC 路由扩展性
- ASP.NET MVC 扩展性简介
- ASP.NET MVC 路由
- MVC 4 的强类型路由
全球化、国际化和本地化
- ASP.NET MVC 5 国际化
- 在 ASP.NET 中选择本地化区域性
- ASP.NET MVC 5 国际化 · Nadeem Afana 的日期和时间
- ASP.NET MVC 5 国际化 ·如何在数据库或 Xml 中存储字符串
- ASP.NET MVC 3、JavaScript 和 jQuery 中的全球化、国际化和本地化
- 国际化
- 本地化
Azure 和 ASP.NET MVC
- 使用存储表、队列和 Blob 的多层应用程序
- Windows Azure 网站:快速轻松地托管即服务
- Azure 网站上的 ASP.NET MVC 4 的配置提示
- 直接从 Git 存储库将 ASP.NET 网站部署到 Visual Studio 2012 中的 Azure
移动
- ASP.NET MVC 4 移动教程
- 创建高性能移动网站
- 在 ASP.NET MVC 4 中创建移动优化视图
- 使用 ASP.NET MVC 4 和 jQuery Mobile 生成移动友好 HTML5 窗体
- 将 jQuery Mobile 集成到 MVC Web 应用
- 深入了解 jQuery Mobile
- ASP.NET MVC 4 中移动开发的新增功能
- 开发混合本机和移动Web 应用
- 使用 ASP.NET MVC 4 和 jQuery Mobile 创建可切换的桌面和移动站点
- MVC 4 移动友好 Web 应用程序
- ASP.NET MVC 4 移动版
单页面应用程序 (SPA)
- 单页应用程序的 .NET 开发人员入门 MSDN 杂志
- 使用 AngularJS 和 ASP.NET MVC 4 的单页应用
- 在 ASP.NET 单页应用模板内
- ASP.NET 和 Web 工具 2012.2 RC 的 MVC 单页应用程序模板更新
- 在 ASP.NET 单页应用模板内
Twitter、Facebook
单元测试、TDD、存储库模式和工作单元
- ASP.NET MVC 中使用实体框架的存储库模式和工作单元
- 在 ASP.NET MVC 中创建单元可测试应用程序 - 初学者教程
- ASP.NET 初学者的 MVC 控制器依赖项注入
- 为处理 Ajax 请求和普通请求的 ASP.NET MVC 操作方法编写单元测试
- 使用 xUnit 和 Moq 开发用于 TDD 的 ASP.NET MVC 4 应用程序
- 测试从新项目到生成服务器 ASP.NET MVC 视图(视频)
- 快速入门:体验驱动开发(视频)
- 测试驾驶 ASP.NET MVC (视频)
- 集成测试与 SpecsFor.Mvc – ASP.NET 类固醇上的 MVC 测试! (视频)
- 在 ASP.NET MVC 中创建单元可测试应用程序 - 初学者教程
- 演练:将 TDD 与 ASP.NET MVC 配合使用(MVC 3)
- 发布 SocialGoal - 用于 ASP.NET MVC 5、EF 6 Code First、AutoMapper、Autofac、TDD 和 DDD 的引用 Web 应用
最佳方案
- 不得在 ASP.NET 中执行的操作和转而应执行的操作
- Web 开发人员清单
- 视频:不要这样做,请执行此操作!
- ASP.NET MVC 解决方案最佳做法 (视频)
- SignalR、MVC、Web API (视频)
- ASP.NET MVC 的最佳做法
部署
MVC 的 RTF 编辑器
- http://www.tinymce.com/
- http://www.componentone.com/SuperProducts/StudioASPNET/
- jQuery 和 ASP.NET MVC 中使用基础结构 HTML 编辑器进行 RTF 编辑
- DevExpress ASP.NET MVC RichEdit 控件
- Russell Waite 在 MVC 中嵌套布局
常规
- 如何将 ASP.NET MVC 4 和 Web API 项目升级到 ASP.NET MVC 5 和 Web API 2
- 了解 ASP.NET MVC 筛选器和属性
- ASP.NET MVC 开发人员的内容协商和 Web API
- 使用 ASP.NET MVC 提供 WebP 图像
- Russell Waite 在 MVC 中嵌套布局
- 通过 Sheo Narayan 在 ASP.NET MVC 中实现 RichTextEditor 或 WYSIWYG (TinyMCE)
- Sheo Narayan 在 ASP.NET MVC 中使用 Anonymous 类型集合绑定视图
- 保存 HTML 5 画布作为图像在 ASP.NET MVC 由 Sheo Narayan
- 使用 Sheo Narayan ASP.NET MVC 在数据库中维护图像大小和位置
- 在 ASP.NET MVC 中由 Sheo Narayan 开发明星评级
- 使用 ASP.NET MVC 上传和下载文件
- 将 Fluent 验证与 ASP.NET MVC 配合使用
- 为 ASP.NET MVC 创建自己的自定义 ViewWebPage
- 在 ASP.NET MVC Razor 视图中进行跟踪
- 重新访问 MVC 外部的 MVC Razor 视图 ASP.NET
- 应与新式 MVC 项目一起使用的五个基本前端工具
- ASP.NET MVC 模型绑定的功能和功能
- 基于 Cookie 的 TempData 提供程序
- 在 ASP.NET MVC 中跨区域共享单个_ViewStart
- ASP.NET MVC 中的筛选
- 使用 HandleError 在 ASP.NET MVC 3 中了解操作筛选器(视频)
- 自定义 MVC 4 模板演练
- 为什么 ASP.NET MVC HTML 帮助程序方法将 lambda 表达式作为参数
- Web 开发人员查看 MVC4 请求管道
- 了解 ASP.NET MVC 中的文本编码
- 将 MVC4 Visual Studio 2010 解决方案升级到 Visual Studio 2012 和 .Net 4.5 和 EF 5
- ASP.NET Entity Framework DbGeography 空间类型的 MVC DisplayTemplate 和 EditorTemplates
- ASP.NET MVC - 突出显示当前链接
- ASP.NET MVC:处理异常和 404 错误
- 查找错误的控制器
- ASP.NET MVC 提示、技巧和隐藏宝石 (视频)
- 将 RDLC 直接呈现到 ASP.NET MVC 中的响应流
- 如何在 ASP.NET MVC 4 中实现世界(就绪)统治(视频)
- MVC 和 WebForms 的深度集成(视频)
- 使用 MVC 4 进行企业搜索(视频)
- ASP.NET MVC 4 中的瘦身控制器
- 使用 EF Code First 和 jQuery ASP.NET MVC 4 中的动态菜单
- 使用 jQuery FooTable 使 ASP.NET GridView 响应
- 使用 Visual Studio 的 Web 部署
- ASP.NET MVC 中的自定义模板、数据注释和 UI 提示