首页 > 代码库 > [WCF] Restful 自定义宿主
[WCF] Restful 自定义宿主
IPersonRetriever:
/* * 由SharpDevelop创建。 * 用户: Administrator * 日期: 2017/6/2 * 时间: 22:13 * * 要改变这种模板请点击 工具|选项|代码编写|编辑标准头文件 */using System;using System.Collections.Generic;using System.Linq;using System.Runtime.Serialization;using System.ServiceModel;using System.ServiceModel.Web;using System.Text;namespace WcfRESTful{ /// <summary> /// Description of IPersonRetriever. /// </summary> [ServiceContract] public interface IPersonRetriever { [OperationContract] [WebInvokeAttribute(UriTemplate = "Persons",Method="POST", ResponseFormat = WebMessageFormat.Json)] Person GetPerson(); } [DataContract] public class Person { [DataMember] public string Name { get; set; } [DataMember] public int Age { get; set; } [DataMember] public string Birthday { get; set; } }}
PersonRetriever:
/* * 由SharpDevelop创建。 * 用户: Administrator * 日期: 2017/6/2 * 时间: 22:15 * * 要改变这种模板请点击 工具|选项|代码编写|编辑标准头文件 */using System;using System.ServiceModel.Web;namespace WcfRESTful{ /// <summary> /// Description of PersonRetriever. /// </summary> public class PersonRetriever: IPersonRetriever { public Person GetPerson() { WebOperationContext.Current.OutgoingResponse.ContentType = "text/plain"; return new Person { Name = "Test", Age = 22, Birthday = DateTime.Now.ToString("yyyy-mm-dd HH:MM:ss:ffff") }; } }}
Program :
/* * 由SharpDevelop创建。 * 用户: Administrator * 日期: 2017/6/2 * 时间: 22:19 * * 要改变这种模板请点击 工具|选项|代码编写|编辑标准头文件 */using System;using System.ServiceModel;using System.ServiceModel.Description;namespace WcfRESTful{ class Program { public static void Main(string[] args) { Console.WriteLine("Hello World!"); // TODO: Implement Functionality Here Uri baseAddress = new Uri("http://127.0.0.1:9998/PersonRetriever"); using (ServiceHost host = new ServiceHost(typeof(PersonRetriever), baseAddress)) { WebHttpBinding binding = new WebHttpBinding(); ServiceEndpoint endpoint = host.AddServiceEndpoint(typeof(IPersonRetriever), binding, baseAddress); WebHttpBehavior httpBehavior = new WebHttpBehavior(); endpoint.Behaviors.Add(httpBehavior); host.Opened += delegate { Console.WriteLine("Hosted successfully."); }; host.Open(); Console.ReadLine(); } Console.Write("Press any key to continue . . . "); Console.ReadKey(true); } }}
截图 :
源码: http://files.cnblogs.com/files/Areas/WcfRESTful.zip
[WCF] Restful 自定义宿主
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。