在Asp.net应用程序中构建基于WCF Web.Api的服务
WCF Web API Preview 5 发布了,你可以官方网站下载或通过Nuget安装它. 下面让我们在Asp.net applicatoin中来实现一个非常简单的web api service.
在VS中打开Package Manage Console下,输入:
Install-Package WebApi.All
然后我们创建Contact与其实现类:
1: /// <summary>
2: /// a simple Contact entity
3: /// </summary>
4: public class Contact
5: {
6: /// <summary>
7: /// Name
8: /// </summary>
9: public string Name { get; set; }
10: }
11:
12: [ServiceContract]
13: public interface IContactsResource
14: {
15: [WebGet(UriTemplate = "")]
16: List<Contact> Get();
17: }
18:
19: /// <summary>
20: /// Demo for host a web.api in asp.net application
21: /// </summary>
22: /// <remarks>author Petter Liu http://www.cnblogs.com/wintersun </remarks>
23: public class ContactsResource :IContactsResource
24: {
25: /// <summary>
26: /// Get list of Contacts
27: /// </summary>
28: /// <returns>list of contacts</returns>
29: public List<Contact> Get()
30: {
31: return new List<Contact>()
32: {
33: new Contact() { Name = "Peter" }
34: };
35: }
36: }
代码很简单.然后在Global.asax中Application_Start增加如下代码:
1: void Application_Start(object sender, EventArgs e)
2: {
3: RouteTable.Routes.MapServiceRoute<ContactsResource>("contacts");
4: }
接着打开浏览器运行吧,访问http://localhost:7287/contacts , 得到这样的结果:
<?xml version="1.0" encoding="utf-8" ?> <ArrayOfContact xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"><Contact><Name>Peter</Name> </Contact></ArrayOfContact>
让我们再用UnitTest来验证一下, 引用HttpClient库.
1: [TestMethod]
2: public void TestGetAction()
3: {
4: //arrange
5: var client = new HttpClient();
6:
7: //act
8: var resp = client.Get("http://localhost:7287/contacts");
9:
10: //assert
11: Assert.IsTrue(resp.IsSuccessStatusCode);
12:
13: var contacts = resp.Content.ReadAs<List<Contact>>();
14: Assert.IsNotNull(contacts);
15: Assert.AreEqual("Peter", contacts.FirstOrDefault().Name);
16: }
OK,Pass. 一切就是那么简单
希望这篇POST对您开发WCF有帮助.
您可以感兴趣的文章:
使用WCF web API测试基于REST的WCF Service
作者:Petter Liu
出处:http://www.cnblogs.com/wintersun/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
该文章也同时发布在我的独立博客中-Petter Liu Blog。
在Asp.net应用程序中构建基于WCF Web.Api的服务相关推荐
- [转]构建基于WCF Restful Service的服务
本文转自:http://www.cnblogs.com/scy251147/p/3566638.html 前言 传统的Asmx服务,由于遵循SOAP协议,所以返回内容以xml方式组织.并且客户端需要添 ...
- 在ASP.NET Core MVC中构建简单 Web Api
Getting Started 在 ASP.NET Core MVC 框架中,ASP.NET 团队为我们提供了一整套的用于构建一个 Web 中的各种部分所需的套件,那么有些时候我们只需要做一个简单的 ...
- 基于 Node.js + Koa 构建完整的 Web API (配置 ESLint 和使用 Airbnb 编码规范)
主题内容:基于 Node.js + Koa 构建完整的 Web API (配置 ESLint 和使用 Airbnb 代码规范) 背景描述:上一篇 基于 Node.js + Koa 构建完整的 Web ...
- 返璞归真 asp.net mvc (10) - asp.net mvc 4.0 新特性之 Web API
返璞归真 asp.net mvc (10) - asp.net mvc 4.0 新特性之 Web API 原文:返璞归真 asp.net mvc (10) - asp.net mvc 4.0 新特性之 ...
- webapi输出炜json_.Net基于MVC4 Web Api输出Json格式实例
本文实例讲述了.Net基于MVC4 Web Api输出Json格式的方法,分享给大家供大家参考.具体实现方法如下: 1.Global 中增加json输出 GlobalConfiguration.Con ...
- 基于Nuxt3的API接口服务网站
原文链接: 基于Nuxt3的API接口服务网站 挺早之前就想写个 api 接口服务,封装下自己收集的一些 api 接口,以便调用,正好最近在接触 SSR 框架,所以就使用 Nuxt3 来编写该项目. ...
- .NET Core微服务之基于Ocelot实现API网关服务(续)
Tip: 此篇已加入.NET Core微服务基础系列文章索引 一.负载均衡与请求缓存 1.1 负载均衡 为了验证负载均衡,这里我们配置了两个Consul Client节点,其中ClientServic ...
- 报表服务扩展:基于WCF技术的报表服务扩展
这项技术被我鼓吹了很久,今天终于有机会拿出来展示一下. 为什么要进行扩展呢?扩展的目的是为了和自己现有的系统整合在一起.比如现有系统已经很复杂,能处理很多业务,设计系统的开发人员没有充分考虑到技术的变 ...
- 在ASP.NET应用程序中捕捉身份验证状态的变化
前年我写过一篇随笔抱怨Microsoft在ASP.NET架构中Session_End事件上处理,说来惭愧,其实当年我对ASP.NET运行时的复杂性理解不足.实话说,捕捉通过身份验证和注销身份验证对我来 ...
最新文章
- angular 兼容ie7 bootstrap2兼容ie6
- NSIS 打包 win7 中无法删除快捷方式
- [CTO札记]从生活来看‘服务心态’
- 批处理命令 / echo
- Java移位操作小测试
- 明年,5G iPhone不只一款!
- CEO 职位也不保,盘点 2017 年 IT 界残酷的裁员事件
- 通过javascript 函数的调用方式来理解this
- ZigBee-CC2530单片机 - LED呼吸灯
- matlab检验相关性显著性检验,基于matlab的栅格数据相关分析及显著性检验
- 为什么便利店晚上顾客很少?还要24小时营业?
- 数据结构名词解释详细总结
- [515]歌曲识别-dejavu-python
- 五、构建deb软件安装包
- COIL:结合稠密检索和词汇匹配的更高效检索模型
- 【机房收费个人版】触发器与存储过程
- 计算计控制系统2.0
- 30条实用信息教你读懂电影版本
- Unity脚本(一)
- Jmeter+ant+jenkins 实现接口自动化构建