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

  • 相关阅读:
    Apache配置虚拟主机的三种方法(基于IP、端口、域名)
    Apache httpd.conf配置详解
    php-fpm配置文件详解
    php-fpm 三种运行模式
    Nginx优化详解(超详细)
    nginx反向代理实现获取用户真实ip
    WordCount示例深度学习MapReduce过程(1)
    Hadoop学习笔记:MapReduce框架详解
    Locality Sensitive Hash 局部敏感哈希
    Hash表算法
  • 原文地址:https://www.cnblogs.com/Areas/p/6935547.html
Copyright © 2011-2022 走看看