WCFREST开发

阅读更多
首先新建wcf项目(WcfService1), 按照下面的步骤转换成支持REST

(1)
如果没有Global.asax 则新建, 内容如下:
需要新建两个文件 Global.asax  和 Global.asax.cs

1,用文本在项目下面添加文件 Global.asax  文件里面添加下面一行即可
<%@ Application Codebehind="Global.asax.cs" Inherits="WcfService1.Global" Language="C#" %>


2,用文本在项目下面添加类:  Global.asax.cs
using System;
using System.ServiceModel.Activation;
using System.Web;
using System.Web.Routing;

namespace RESTService1
{
    public class Global : HttpApplication
    {
        void Application_Start(object sender, EventArgs e)
        {
            RegisterRoutes();
        }

        private void RegisterRoutes()
        {
            // Edit the base address of Service1 by replacing the "Service1" string below
            RouteTable.Routes.Add(new ServiceRoute("Service1", new WebServiceHostFactory(), typeof(Service1)));
        }
    }
}


将上面两个文件包含到项目里面
需要引用包:  System.ServiceModel.Activation.dll


(2)
web.config 修改为如下:



  
    
  
  
    
    
             
        
          
          
          
          
        
           
    
    
    
    
    
      
        
        
      
    
  

  
    
      
    

    
    
   
  




实际上是在节点里面添加:


  
	
	
  


节点里面添加

     




(3)
在接口里面的方法上添加
[WebGet(UriTemplate = "getData?value={value}", ResponseFormat = WebMessageFormat.Json)]
上面是get的添加方法,post例子: 
[WebInvoke(UriTemplate = "getData", Method = "POST", RequestFormat = WebMessageFormat.Json)]

例如:
[ServiceContract]
public interface IService1
{

	[WebGet(UriTemplate = "getData?value={value}", ResponseFormat=WebMessageFormat.Json)]
	[OperationContract]
	string GetData(int value);      

	[OperationContract]
	CompositeType GetDataUsingDataContract(CompositeType composite);

	// TODO: 在此添加您的服务操作
}



发布到IIS   (假如地址为: http://192.168.100.119:88/ )
在浏览器里面输入下面的连接看看
http://192.168.100.119:88/Service1/help

你可能感兴趣的:(wcf)