[WCF] Restful 自定义宿主
Posted D&J
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[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 自定义宿主的主要内容,如果未能解决你的问题,请参考以下文章