通过


Web API 示例列表

HttpClient 示例

必应翻译示例 | VS 2012 源代码

演示如何使用 HttpClient 类调用 Microsoft Translator 服务。 Microsoft翻译服务 API 需要 OAuth 令牌,应用程序通过向 Azure 令牌服务器发送请求来获取该令牌,以便向翻译服务发出每个请求。 令牌服务器的结果将馈送到发送到翻译服务的请求中。 在运行此示例之前,必须 从 Azure 市场获取应用程序密钥 ,并填写 AccessTokenMessageHandler 示例类中的信息。

Google Maps 示例 | | 详细说明VS 2012 源

使用 HttpClientGoogle Maps API 下载 Redmond 的地图,将其保存为本地文件,并打开默认图像查看器。

Twitter 客户端示例 | | 详细说明VS 2012 源

演示如何使用 HttpClient 编写简单的 Twitter 客户端。 此示例使用 HttpMessageHandler 将 OAuth 身份验证信息插入传出 HttpRequestMessage 中。 Twitter 的结果是使用 JSON.NET 读取的。 在运行此示例之前,必须 从 Twitter 获取应用程序密钥,并填写 OAuthMessageHandler 示例类中的信息。

世界银行示例 | | 详细说明VS 2010 源 | VS 2012 源

演示如何使用 JSON.NET 从世界银行数据站点检索数据,以分析结果。

Web API 示例

ASP.NET Web API | 入门VS 2012 源代码

演示如何创建支持 HTTP GET 请求的基本 Web API。 包含教程 “第一 ASP.NET Web API”的源代码。

ASP.NET Web API JavaScript 方案 - 注释 | VS 2012 源

演示如何使用 ASP.NET Web API 生成支持浏览器客户端的 Web API,并使用 jQuery 轻松调用。

联系人管理器 | VS 2010 源

此示例使用 ASP.NET Web API 生成简单的联系人管理器应用程序。 该应用程序由 ASP.NET MVC 应用程序和 Windows Phone 应用程序用来显示和管理联系人列表的联系人管理器 Web API 组成。

批处理示例 |详细说明 | VS 2012 源

演示如何在 ASP.NET 内实现 HTTP 批处理。 批处理包括将多个 HTTP 请求放在单个 MIME 多部分实体正文中,然后作为 HTTP POST 发送到服务器。 每个请求单独处理,响应将被放入另一个 MIME 多部分实体正文中,然后返回给客户端。

内容控制器示例 | | 详细说明VS 2010 源 | VS 2012 源

演示如何使用流异步读取和写入请求和响应实体。 示例控制器有两个操作:一个 PUT 操作,该操作异步读取请求实体正文并将其存储在本地文件中,以及返回本地文件内容的 GET 操作。

自定义程序集解析程序示例 | VS 2012 源

演示如何修改 ASP.NET Web API 以支持从动态加载的库程序集中发现控制器。 此示例实现一个自定义 IAssembliesResolver ,它调用默认实现,然后将库程序集添加到默认结果。

自定义媒体类型格式化程序示例 | | 详细说明VS 2010 源

演示如何使用 BufferedMediaTypeFormatter 基类创建自定义媒体类型格式化程序。 此基类适用于主要使用同步读取和写入操作的格式化程序。 除了显示媒体类型格式器外,此示例还演示如何通过将它注册为应用程序的 HttpConfiguration 的一部分来进行连接。 请注意,对于主要使用异步读取和写入操作的格式化程序,还可以直接使用 MediaTypeFormatter 基类。

自定义参数绑定示例 | | 详细说明VS 2010 源

演示如何自定义参数绑定过程,这是确定请求中信息如何绑定到操作参数的过程。 在此示例中,主控制器有四个操作:

  1. BindPrincipal 演示如何从自定义泛型主体(而不是 HTTP GET 消息)绑定 IPrincipal 参数;
  2. BindCustomComplexTypeFromUriOrBody 演示如何绑定复杂类型参数,该参数可能来自消息正文或 HTTP POST 消息的请求 URI;
  3. BindCustomComplexTypeFromUriWithRenamedProperty 演示如何将复杂类型参数与重命名的属性绑定,该属性来自 HTTP POST 消息的请求 URI;
  4. PostMultipleParametersFromBody 演示如何从 POST 消息的正文绑定多个参数;

文件上传示例 | | 详细说明VS 2012 源

演示如何使用 MIME 多部分文件上传将文件上传到 ApiController,以及如何使用 ProgressNotificationHandler 通过 HttpClient 设置进度通知。 控制器以异步方式读取 HTML 文件的内容,并将一个或多个正文部件写入本地文件。 响应包含有关上传的文件(或文件)的信息。

文件上传到 Azure Blob 存储示例 | 详细说明 | VS 2012 源代码

此示例类似于文件上传示例,但不在本地磁盘上保存上传的文件,而是使用适用于 .NET 的 Windows Azure SDK 以异步方式将文件上传到 Azure Blob 存储。 它还提供一种机制,用于列出当前在 Azure Blob 存储容器 中存在的 Blob。 可以尝试针对 Azure SDK 附带的 Azure 存储模拟器 运行的示例。 如果您有 Azure 存储帐户,也可以针对真实的存储服务运行。

Http 消息处理程序管道示例 | 详细说明 | VS 2010 源

演示如何在客户端(HttpClient)和服务器(ASP.NET Web API)上连接 HttpMessageHandler 实例。 在示例中,客户端和服务器上使用相同的处理程序。 虽然很少在两个位置运行完全相同的处理程序,但对象模型在客户端和服务器端是相同的。

JSON 上传示例 | VS 2012 源

演示如何向/从 ApiController 上传和下载 JSON。 该示例使用最少的 ApiController ,并使用 HttpClient 访问它。

Mashup 示例 | | 详细说明VS 2012 源

演示如何从 ApiController 操作中异步访问多个远程站点。 每次触发动作时,都会异步执行请求,这样可以做到不阻塞任何线程。

内存跟踪示例 | | 详细说明VS 2010 源

此示例项目创建一个 Nuget 包,该包将自定义内存中跟踪编写器安装到 ASP.NET Web API 应用程序中。

MongoDB 示例 | | 详细说明VS 2012 源

演示如何使用存储库模式将 MongoDB 用作 ApiController 的持久存储。

响应正文处理器示例 | VS 2012 源

演示如何将响应实体(即 HTTP 响应正文)复制到本地文件,然后再将其传输到客户端,并异步对该文件执行其他处理。 此示例实现一个 HttpMessageHandler,它将响应实体包装为一个可以同时将响应写入输出和本地文件的对象。

上传 XDocument 示例 | | 详细说明VS 2012 源

演示如何使用 PushStreamContentHttpClient 将 XDocument 上传到 ApiController

验证示例 | VS 2010 源

演示如何在 ASP.NET WebAPI 中使用模型上的验证属性来验证 HTTP 请求的内容。 演示如何将属性标记为必需、如何使用框架定义的验证属性和自定义验证属性来批注模型,以及如何返回无效模型状态的错误响应。

Web 窗体示例 | | 详细说明VS 2010 源

显示已添加到 Web Forms 项目的 ApiController。

RestBugs 示例

RestBugs 是一个简单的 bug 跟踪应用程序,演示如何使用 ASP.NET Web API 和新的 HTTP 客户端库来创建超媒体驱动的系统。 此示例包括使用 ASP.NET Web API 的客户端和服务器实现。 服务器使用自定义 Razor 格式化程序生成资源表示形式。 此示例还提供一个 node.js 服务器来说明使用超媒体设计来分离客户端和服务器的好处。