简单五步创建一个WCF Rest Service
来源:互联网 发布:淘宝app首页怎么实现 编辑:程序博客网 时间:2024/05/16 15:35
1、创建一个WCF Service Application
2、创建一个实体对象Student,用作数据传输的载体,下面是Student.cs的内容
using System.Runtime.Serialization;namespace WCFRest{ /// <summary> /// DataContract 数据契约:服务端和客户端之间要传送的自定义数据类型 /// </summary> [DataContract] public class Student { /// <summary> /// 在数据传送过程中,只有成员变量可以被传送而成员方法不可以。 /// 并且只有当成员变量加上DataMember时才可以被序列进行数据传输, /// 如果不加DataMember,客户端将无法获得该属性的任何信息 /// </summary> [DataMember] public int Id { get; set; } [DataMember] public string Name { get; set; } }}
同时我们创建一个类,用来模拟数据库的存储
using System.Collections.Generic;namespace WCFRest{ public class UserList { private static readonly UserList _Instance = new UserList(); private UserList() { } public static UserList Instance { get { return _Instance; } } public IList<Student> Users { get { return _Users; } } private IList<Student> _Users = new List<Student>{ new Student {Id = 1, Name = "张三" }, new Student {Id = 2, Name = "李四" }, new Student {Id = 3, Name = "王五" } }; }}
3、创建服务契约
下面我们在项目添加一个WCF Service
首先修改IStudnetService接口,配置Rest的URL路径
using System.Collections.Generic;using System.ServiceModel;using System.ServiceModel.Web;namespace WCFRest{ [ServiceContract] public interface IStudentService { [OperationContract] [WebInvoke(Method = "GET", RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json, UriTemplate = "GetStudentById/Id={Id}" )] Student GetStudentById(string Id); [OperationContract] [WebInvoke(Method = "GET", RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json, UriTemplate = "GetStudentList" )] IList<Student> GetStudentList(); }}
4、修改StudentService类,实现Rest方法
using System.Collections.Generic;namespace WCFRest{ public class StudentService : IStudentService { public Student GetStudentById(string Id) { return StudentList.Instance.Users[int.Parse(Id)]; } public IList<Student> GetStudentList() { return StudentList.Instance.Users; } }}
5、配置Service和Behavior
在Web.Config中配置我们的Rest服务
<system.serviceModel> <services> <service name="WCFRest.StudentService" behaviorConfiguration="serviceBehavior"> <endpoint address="" binding="webHttpBinding" contract="WCFRest.IStudentService" behaviorConfiguration="web"></endpoint> </service> </services> <behaviors> <serviceBehaviors> <behavior name="serviceBehavior"> <serviceMetadata httpGetEnabled="true"/> <serviceDebug includeExceptionDetailInFaults="false"/> </behavior> <behavior> <serviceMetadata httpGetEnabled="true" httpsGetEnabled="true"/> <serviceDebug includeExceptionDetailInFaults="false"/> </behavior> </serviceBehaviors> <endpointBehaviors> <behavior name="web"> <webHttp/> </behavior> </endpointBehaviors> </behaviors> <protocolMapping> <add binding="basicHttpsBinding" scheme="https" /> </protocolMapping> <serviceHostingEnvironment aspNetCompatibilityEnabled="true" multipleSiteBindingsEnabled="true" /> </system.serviceModel>
OK,下面测试一下我们的程序,右击Student.svc文件,选择View In Browser,我们将会看到下面的运行结果
说明:本文绝大部分内容摘自下面文章
http://www.topwcftutorials.net/2013/09/simple-steps-for-restful-service.html
0 0
- 简单五步创建一个WCF Rest Service
- 创建一个WCF Rest Service
- Wcf Ria Services学习笔记(二):创建一个简单WCF RIA Service服务
- [WCF REST] 一个简单的REST服务实例
- 创建一个简单的WCF
- 利用WCF创建简单的RESTFul Service
- REST WCF 简单架设
- REST WCF Service中的WebMessageBodyStyle
- 创建一个WCF主要分以下六步
- 创建一个简单的WCF程序(一)
- 创建一个简单的WCF程序(一)
- 创建一个简单的WCF程序(二)
- 创建一个简单的WCF服务
- 创建一个简单的WCF程序
- 创建一个简单的WCF程序
- 创建一个简单的WCF程序
- 创建一个简单的WCF程序
- 创建一个简单的WCF程序
- jstl
- Android网络(4):HttpClient必经之路----使用线程安全的单例模式HttpClient,及HttpClient和Application
- 王爽-《汇编语言2》学习笔记2
- POI导出EXCEL经典实现
- SurfaceView简单用法
- 简单五步创建一个WCF Rest Service
- AsyncTask实现异步处理任务
- 新手如何选股票
- 程序员父亲的遗产——编程十诫
- Receive packet steering patch详解
- ehcache配置参数说明
- 两小时狂赚1000万!这一切怎么“成功”完成?
- 输入一个单向链表,输出该链表中倒数第 k 个结点。链表的倒数第0 个结点为链表的尾指针。
- HEVC标准概览