`
zheyiw
  • 浏览: 1020283 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

WCFREST开发

    博客分类:
  • C#
wcf 
阅读更多
首先新建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 修改为如下:
<?xml version="1.0" encoding="utf-8"?>
<configuration>

  <system.web>
    <compilation debug="true" targetFramework="4.5" />
  </system.web>
  
  <system.serviceModel>  
    <behaviors>
      <serviceBehaviors>       
        <behavior>
          <!-- 为避免泄漏元数据信息,请在部署前将以下值设置为 false -->
          <serviceMetadata httpGetEnabled="true"/>
          <!-- 要接收故障异常详细信息以进行调试,请将以下值设置为 true。在部署前设置为 false 以避免泄漏异常信息 -->
          <serviceDebug includeExceptionDetailInFaults="false"/>
        </behavior>
      </serviceBehaviors>     
    </behaviors>
    
    <serviceHostingEnvironment aspNetCompatibilityEnabled="true"/>
    
    <standardEndpoints>
      <webHttpEndpoint>
        <!-- 
              Configure the WCF REST service base address via the global.asax.cs file and the default endpoint 
              via the attributes on the <standardEndpoint> element below
          -->
        <standardEndpoint helpEnabled="true" automaticFormatSelectionEnabled="true" defaultOutgoingResponseFormat="Json" />
      </webHttpEndpoint>
    </standardEndpoints>
  </system.serviceModel>

  <system.webServer>
    <modules runAllManagedModulesForAllRequests="true">
      <add name="UrlRoutingModule" type="System.Web.Routing.UrlRoutingModule, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>
    </modules>

    <!--
        若要在调试过程中浏览 Web 应用程序根目录,请将下面的值设置为 True。
        在部署之前将该值设置为 False 可避免泄露 Web 应用程序文件夹信息。
      -->
    <directoryBrowse enabled="true"/>
  </system.webServer> 
  

</configuration>


实际上是在<system.serviceModel>节点里面添加:
<serviceHostingEnvironment aspNetCompatibilityEnabled="true" />
<standardEndpoints>
  <webHttpEndpoint>
	<!--   
		  Configure the WCF REST service base address via the global.asax.cs file and the default endpoint   
		  via the attributes on the <standardEndpoint> element below  
	  -->
	<standardEndpoint helpEnabled="true" automaticFormatSelectionEnabled="true" defaultOutgoingResponseFormat="Json" />
  </webHttpEndpoint>
</standardEndpoints>

在<system.webServer>节点里面添加
<modules runAllManagedModulesForAllRequests="true">
     <add name="UrlRoutingModule" type="System.Web.Routing.UrlRoutingModule, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>
</modules>



(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 REST service test

    - **WCFRestService**: 这可能是服务的实现,包含服务接口定义、服务实现类和配置文件。 - **WCFRestServiceTest**: 这是测试客户端,可能包含了发送HTTP请求、解析响应和验证结果的代码。 通过对这两个文件的详细...

    WCF REST Service Template 40

    安装**WcfRestService40(CS).vsix** 文件后,用户在Visual Studio 2010中就可以直接创建符合RESTful原则的服务,从而提高开发效率。 **WCF REST服务的关键概念:** 1. **服务合同(Service Contract)**:定义了...

    wcfrest的实现

    在"**wcfrest的实现**"中,我们将探讨如何使用WCF构建RESTful服务。以下是一些关键知识点: 1. **配置服务**: 创建一个WCF服务,首先需要定义一个接口,该接口标记为`[ServiceContract]`。对于REST服务,每个操作...

    WCF Rest Service Example in Asp.net

    总结起来,WCF REST服务在ASP.NET中的应用提供了一种高效、灵活的方式来构建Web API,使得开发人员能够快速创建面向资源的、基于HTTP的接口,便于客户端(如JavaScript应用、移动应用等)调用。通过理解并掌握这些...

    WCF REST 表单数据 raw类型 源码实例

    本文将详细解析如何在WCF REST服务中实现raw类型的表单数据处理,并通过源码实例进行深入探讨。** **一、WCF REST基础知识** 1. **服务契约**:定义服务接口,包含服务要暴露的操作。在WCF REST中,可以使用`...

    Rest WCF资源文件

    REST(Representational State Transfer)是一种网络应用程序的设计风格和开发方式,基于HTTP协议,以简洁、无状态、可缓存的方式进行数据交互。在.NET框架中,WCF(Windows Communication Foundation)服务可以通过...

    使用WCF开发REST服务

    ### 使用WCF开发REST服务:全面解析与实践指南 #### 关于HTTP与REST的初步探讨 REST(Representational State Transfer)是一种设计风格,用于构建基于HTTP协议的网络互联系统。它强调通过简单的规则和原则来创建...

    使用MVC和WCF REST的ReactJS入门

    在本文中,我们将深入探讨如何将ReactJS与MVC(Model-View-Controller)和WCF(Windows Communication Foundation)REST服务结合使用,为初学者提供一个全面的入门指南。我们将涉及的技术栈包括SQL用于数据库操作,...

    使用WCF REST API和JavaScript上传文件

    本主题将深入探讨如何使用WCF REST API结合JavaScript实现文件上传功能,这对于现代Web应用来说是一个常见且重要的需求。 首先,我们要理解WCF REST API。REST(Representational State Transfer)是一种基于HTTP...

    WCF REST服务中对JSONP的支持

    **标题:“WCF REST服务中对JSONP的支持”** **描述:**该主题涉及如何在Windows Communication Foundation (WCF) REST服务中实现JSONP(JSON with Padding)支持,以允许跨域数据交换,这对于Web应用程序的灵活性...

    WCF REST Web服务部署

    REST(Representational State Transfer)是一种网络应用程序的设计风格和开发方式,它基于HTTP协议,使得数据可以通过URI(Uniform Resource Identifier)进行访问。在WCF中实现RESTful服务,可以极大地提高Web服务...

    Wcf和Rest服务的完整例子代码

    在IT行业中,Web服务是应用程序之间进行通信的一种方式,而WCF(Windows Communication Foundation)和REST(Representational State Transfer)是两种常见的Web服务技术。本文将深入探讨这两种服务的实现,以及它们...

    具有基于表单的身份验证(SetAuthCookie)的WCF REST 4.0授权

    WCF REST(Representational State Transfer)使得WCF能够支持RESTful服务,提供更轻量级、更灵活的接口。本文将详细探讨如何在WCF REST 4.0中实现基于表单的身份验证(SetAuthCookie)以及自定义授权策略。 基于...

    蒋金楠老师的WcfServices REST

    **蒋金楠老师的WcfServices REST** 在IT行业中,WCF(Windows Communication Foundation)是微软推出的一种面向服务的架构,用于构建高度可互操作、可靠且安全的服务。REST(Representational State Transfer)是一...

    WCFRESTDemo:关于创建和配置 WCF REST 服务返回 JSON 以在 WebMobile 应用程序中使用的演示

    WCF REST 服务使得开发人员可以方便地构建符合REST原则的服务,这些服务能够返回JSON或XML格式的数据,非常适合Web和移动应用程序的消费。 **创建WCF REST服务** 1. **启动新项目**:首先,我们需要在Visual ...

    WCF服务宿主及其跨域问题解决实例

    在分布式系统开发中,Windows Communication Foundation (WCF) 是Microsoft提供的一种强大的服务导向架构,用于构建高度互操作的服务。本实例主要探讨的是如何在Silverlight应用程序中调用WCF服务,以及解决由此产生...

    WCF与Ajax开发实践--构建REST WCF 讲义、Demo和专题讲座

    本资料包中的"**WebCast20101012_PDF**"可能是一份详细的讲义,涵盖了如何使用WCF构建REST服务的基本概念、步骤和最佳实践。讲义可能会讲解RESTful服务的设计原则,如URI设计、HTTP动词的使用、状态码的意义等,以及...

    基于WCF创建SOAP和REST服务源码

    在IT行业中,Windows Communication Foundation(WCF)是微软推出的一种用于构建分布式应用程序的...通过学习和分析这些源码,开发者可以更好地掌握WCF服务的创建、配置和使用,为后续的Web服务开发打下坚实的基础。

    从WCF Rest Services迁移到Web API 2-属性路由的基础

    标题中的“从WCF Rest Services迁移到Web API 2-属性路由的基础”表明这是一个关于将基于Windows Communication Foundation (WCF)的RESTful服务转换到ASP.NET Web API 2,并重点介绍Web API 2中的属性路由的技术文章...

Global site tag (gtag.js) - Google Analytics