zoukankan      html  css  js  c++  java
  • [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

  • 相关阅读:
    hdu 6085 bitset优化
    hdu 6070 二分答案+线段树
    hdu 6069 区间筛
    hdu 6058 并查集
    CF 835D D. Palindromic characteristics 字符串hash
    (转)Linux整合apache和tomcat构建Web服务器
    iTunes备份文件路径
    mac下Apache添加限速模块mod_bw
    mac显示隐藏文件夹
    Mac OS X下HomeBrew安装卸载
  • 原文地址:https://www.cnblogs.com/Areas/p/6935547.html
Copyright © 2011-2022 走看看