ASP.NET 概述
ASP.NET 是一个免费的 Web 框架,用于使用 HTML、CSS 和 JavaScript 构建出色的网站和 Web 应用程序。 还可以创建 Web API 并使用实时技术,例如 Web 套接字。
ASP.NET Core是 ASP.NET 的替代方法。 请参阅有关如何在 ASP.NET 和 ASP.NET Core之间进行选择的指导。
入门
安装 Visual Studio Community edition,这是一个免费的 IDE,适用于 Windows 上的 ASP.NET。
网站和 Web 应用程序
ASP.NET 提供了三种用于创建 Web 应用程序的框架:Web Forms、ASP.NET MVC 和 ASP.NET 网页。 这三个框架都是稳定和成熟的,你可以使用其中任何一个框架创建出色的 Web 应用程序。 无论你选择哪种框架,你都将在任何地方获得 ASP.NET 的所有优势和功能。
每个框架都针对不同的开发风格。 你选择哪种类型取决于编程资产 (知识、技能和开发经验) 、要创建的应用程序类型和你熟悉的开发方法的组合。
下面是每个框架的概述,以及有关如何在它们之间进行选择的一些想法。 如果喜欢视频介绍,请参阅 使用 ASP.NET 制作网站 和 什么是 Web 工具?
框架 | 如果你在 | 开发风格 | 专业知识 |
---|---|---|---|
Web 窗体 | Win Forms、WPF、.NET | 使用封装 HTML 标记的丰富控件库进行快速开发 | 中级、高级 RAD |
MVC | Ruby on Rails,.NET | 完全控制 HTML 标记,代码和标记分开,易于编写测试。 移动和单页应用程序的最佳选择 (SPA) 。 | 中级、高级 |
网页 | 经典 ASP、PHP | HTML 标记和代码一起位于同一文件中 | 新建、Mid-Level |
Web 窗体
借助 ASP.NET Web Forms,可以使用熟悉的拖放式事件驱动模型生成动态网站。 利用设计图面以及许多控件和组件,你可以迅速生成带有数据访问的高级的、功能强大的 UI 驱动型网站。
MVC
ASP.NET MVC 为你提供功能强大、基于模式的方法来构建实现完全分离关注点的动态网站,从而让你完全控制标记,以便进行愉快、灵活的开发。 ASP.NET MVC 包括许多功能,可实现快速、TDD 友好的开发,以便创建使用最新 Web 标准的复杂应用程序。
ASP.NET 网页
ASP.NET 网页和 Razor 语法提供了一种快速、易理解和轻型的方式,将服务器代码与 HTML 相结合,以创建动态 Web 内容。 连接到数据库、添加视频、链接到社交网站,并包含更多功能,可帮助你创建符合最新 Web 标准的美观网站。
有关Web Forms、MVC 和网页的说明
这三个 ASP.NET 框架都基于 .NET 和 ASP.NET 的.NET Framework和共享核心功能。 例如,这三个框架都提供基于成员身份的登录安全模型,这三个框架共享相同的设施,用于管理请求、处理会话等,这些设施是核心 ASP.NET 功能的一部分。
此外,这三个框架并非完全独立,选择一个框架并不排除使用另一个框架。 由于框架可以共存于同一 Web 应用程序中,因此使用不同框架编写的应用程序的各个组件并不少见。 例如,可以在 MVC 中开发面向客户的应用部分来优化标记,而数据访问和管理部分是在 Web Forms 中开发的,以利用数据控制和简单的数据访问。
Web API
ASP.NET Web API 是一种框架,用于轻松构建可以访问多种客户端(包括浏览器和移动设备)的 HTTP 服务。 ASP.NET Web API 是用于在 .NET Framework 上生成 RESTful 应用程序的理想平台。
实时技术
ASP.NET SignalR 是面向 ASP.NET 开发人员的新库,可更轻松地开发实时 Web 功能。 SignalR 允许服务器和客户端之间进行双向通信。 服务器可以在内容可用时立即将内容推送到连接的客户端。 SignalR 支持 Web 套接字,并回退到旧版浏览器的其他兼容技术。 SignalR 包括用于连接管理的 API, (例如,连接和断开连接事件) 、分组连接和授权。
移动应用和网站
ASP.NET 可以使用 Web API 后端支持本机移动应用,以及使用 Twitter Bootstrap 等响应式设计框架的移动网站。 如果要生成本机移动应用,可以轻松创建基于 JSON 的 Web API 来处理应用的数据访问、身份验证和推送通知。 如果要构建响应式移动网站,则可以使用任何 CSS 框架或开放网格系统,或者选择功能强大的移动系统(如 jQuery Mobile 或 Sencha),以及具有 PhoneGap 的出色移动应用程序。
单页应用程序
ASP.NET 单页应用程序 (SPA) 可帮助你使用 HTML 5、CSS 3 和 JavaScript 构建包含重要客户端交互的应用程序。 Visual Studio 包含一个模板,用于使用 knockout.js 和 ASP.NET Web API 生成单页应用程序。 除了内置的 SPA 模板外,还可以下载社区创建的 SPA 模板。
WebHook
WebHook 是一种轻型 HTTP 模式,提供一个简单的发布/订阅模型,用于将 Web API 和 SaaS 服务连接在一起。 当服务中发生事件时,会以 HTTP POST 请求的形式向已注册的订阅者发送通知。 POST 请求包含有关事件的信息,使接收方能够执行相应的操作。
WebHook 由大量服务公开,包括 Dropbox、GitHub、Instagram、MailChimp、PayPal、Slack、Trello 等。 例如,WebHook 可以指示 Dropbox 中的文件已更改,或者在 GitHub 中提交了代码更改,或者在 PayPal 中启动了付款,或者在 Trello 中创建了卡。