WCF Restful 服务 Get/Post请求

Restful  Get方式请求:

Restful服务 Get请求方式:http://localhost:10718/Service1.svc/Get/A/B/C

http://localhost:10718/Service1.svc 服务地址;Get 方法名;A,B,C分别为三个String参数的值。

请求所得数据将在页面显示如图:

代码实现:

简单示例:一个查询方法,获取三个参数,并将得到的参数显示到页面

1.接口契约

 1 using System;
 2 using System.Collections.Generic;
 3 using System.Linq;
 4 using System.Runtime.Serialization;
 5 using System.ServiceModel;
 6 using System.ServiceModel.Web;
 7 using System.Text;
 8
 9 namespace WcfService1
10 {
11     [ServiceContract]
12     public interface IService1
13     {
14         [OperationContract]
15         [WebGet(UriTemplate = "Get/{StrA}/{StrB}/{StrC}",
16             BodyStyle = WebMessageBodyStyle.Bare, RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Xml)]
17         string GetData(string StrA,string StrB,string StrC);
18     }
19
20 }

2.接口服务

 1 using System;
 2 using System.Collections.Generic;
 3 using System.Linq;
 4 using System.Runtime.Serialization;
 5 using System.ServiceModel;
 6 using System.ServiceModel.Web;
 7 using System.Text;
 8
 9 namespace WcfService1
10 {
11     [ServiceBehavior(AddressFilterMode = AddressFilterMode.Any)]
12     public class Service1 : IService1
13     {
14         public string GetData(string StrA, string StrB, string StrC)
15         {
16             return string.Format("You entered: A:{0},B:{1},C:{2}", StrA, StrB, StrC);
17         }
18     }
19 }

3. 配置文件

 1 <?xml version="1.0" encoding="utf-8"?>
 2 <configuration>
 3   <system.web>
 4     <compilation debug="true" targetFramework="4.0" />
 5   </system.web>
 6   <system.serviceModel>
 7     <services>
 8       <service behaviorConfiguration="GetPostBehavior" name="WcfService1.Service1">
 9         <endpoint address="" behaviorConfiguration="GetPostEndBehaviors" binding="webHttpBinding"
10                   contract="WcfService1.IService1">
11           <identity>
12             <dns value="localhost" />
13           </identity>
14         </endpoint>
15         <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />
16         <host>
17           <baseAddresses>
18             <add baseAddress="http://127.0.0.1:80/Service" />
19           </baseAddresses>
20         </host>
21       </service>
22     </services>
23     <bindings>
24       <webHttpBinding>
25         <binding name="GetPostServiceBinding">
26           <security mode="None"/>
27         </binding>
28       </webHttpBinding>
29     </bindings>
30     <behaviors>
31       <endpointBehaviors>
32         <behavior name="GetPostEndBehaviors">
33           <webHttp />
34         </behavior>
35       </endpointBehaviors>
36       <serviceBehaviors>
37         <behavior name="GetPostBehavior">
38           <serviceMetadata httpGetEnabled="true" />
39           <serviceDebug includeExceptionDetailInFaults="false" />
40         </behavior>
41         <behavior>
42           <!-- 为避免泄漏元数据信息,请在部署前将以下值设置为 false 并删除上面的元数据终结点 -->
43           <serviceMetadata httpGetEnabled="true"/>
44           <!-- 要接收故障异常详细信息以进行调试,请将以下值设置为 true。在部署前设置为 false 以避免泄漏异常信息 -->
45           <serviceDebug includeExceptionDetailInFaults="false"/>
46         </behavior>
47       </serviceBehaviors>
48     </behaviors>
49     <serviceHostingEnvironment multipleSiteBindingsEnabled="true" />
50   </system.serviceModel>
51  <system.webServer>
52     <modules runAllManagedModulesForAllRequests="true"/>
53   </system.webServer>
54 </configuration>

Restful  Post方式请求:

时间: 2024-10-13 09:02:52

WCF Restful 服务 Get/Post请求的相关文章

WCF的Restful服务实现Post请求

本文程序基于VS2013.EF6.1.WCF WCF有2种方式,一是SOAP,一种是Restful 由于程序是基于PCL(可移植类库)的,所以不能用直接引入WCF服务的方式 网上的Restful方式的文章也有一些,但是都没有解决我的问题,最终还是在stackoverflow上找到了解决方法 言归正传,先看下代码结构(本人也是第一次用,结构可能不好,欢迎一起交流) Client是用来测试的客户端,没什么,可以忽略 Contracts不用说就是契约了 Services是实现契约 Entity是EF实

Wcf Restful Service服务搭建

目的 使用Wcf(C#)搭建一个Restful Service 背景 最近接到一个项目,客户要求使用Restful 方式接收到数据,并对数据提供对数据的统计显示功能,简单是简单,但必须要使用Restful方式,客户端传递数据就必须使用Rest ful的格式的url,提交方式为Post. 其实在之前的公司里边就开发过一个restful服务,但只记得自己使用的wcf,而今已经忘记的差不多了,还以为只是简单的搭建一个wcf就可以,今天起初就创建了一个wcf项目,发现wcf项目http://localh

5个步骤创建你的第一个RESTFul 服务

1.啥是RESTFul 服务 在我们创建简单小程序前,先来学习下RESTFul 服务.RESTFul服务就是遵循了 Representational State Transfer(可以参考http://blog.csdn.net/zhruifei/article/details/50633495) 这个架构的一种架构.WCF允许我们使用SOAP 通过各种协议,协议包括,HTTP,TCP,MSMQ,Named Pipes等进行交换信息.现在我们通过一个最常用的协议HTTP协议来讲述WCF服务,RE

java_java 利用JAX-RS快速开发RESTful 服务

JAX-RS(Java API for RESTful Web Services)同样也是JSR的一部分,详细规范定义见 https://jcp.org/en/jsr/detail?id=311 .从JAVA EE 6开始,已经内置了该技术,跟.NET中的RESTful WCF类似,只要在常规方法上使用一些简单的注解,就可以对外暴露成RESTful 服务. 注:本文运行环境为Jboss EAP 6.x ,其它容器特别是tomcat,并未自带JAX-RS依赖的jar包,如果采用tomcat,需要自

RESTful 服务架构风格 * .NET的RESTful框架 OpenRasta

REST 的约束采用的就是掌控 Web 的基本原则.这些原则是: 用户代理与资源交互,任何可命名和表达的事物都可称为资源.每项资源都有一个唯一的统一资源标识符 (URI). 与资源的交互(通过其唯一的 URI 定位)使用 HTTP 标准动词(GET.POST.PUT 和 DELETE)的统一接口完成.交互中声明资源的媒体类型也很重要,它使用 HTTP 内容类型标头指定.(XHTML.XML.JPG.PNG 和 JSON 就是一些广为人知的媒体类型.) 资源是自我描述的.处理资源请求所需的全部信息

jeesz分布式架构-RestFul服务

摘要: REpresentational State Transfer (REST) 是一种架构原则,其中将 web 服务视为资源,可以由其 URL 唯一标识. RESTful Web 服务的关键特点是明确使用 HTTP 方法来表示不同的操作的调用. REST 的基本设计原则对典型 CRUD 操作使用 HTTP 协议方法: POST - 创建资源 GET - 检索资源 PUT – 更新资源 DELETE - 删除资源 REST 服务的主要优势在于: 1. REST介绍 REpresentatio

应用Spring MVC发布restful服务是怎样的一种体验

摘要:“约定优于配置”这是一个相当棒的经验,SOAP服务性能差.基于配置.紧耦合,restful服务性能好.基于约定.松耦合,现在我就把使用Spring MVC发布restful服务的过程同大家分享.代码之优雅.过程之简单.编码之愉快,不是发布SOAP服务所能匹敌的. 关键字:java, rest, webservice, spring mvc 前提:IntelliJ IDEA (13.1.5 版本), apache maven (3.2.3 版本), Tomcat(7.0.56版本), Spr

RESTful服务的版本管理经验 (转)

原文:RESTful服务的版本管理经验 最近,Howard Dierking将在设计NuGet API的下一个主要修订版(v3)时新学到的经验,与他在大约一年前的观念做了对比,并写道:使用服务器驱动的内容协商,但借助与备选版本和表示格式的链接来提升响应能力,从而让客户端根据其需要选择访问哪个URI. 通过对带有重要扩展需求的真实应用API,以及若干不同客户端进行对比,Howard发现在他最初的想法中,过多地相信了服务器驱动内容协商的保证.而现在他发现,这会把客户端过多地交道了服务器手中:客户端能

如何用Google APIs和Google的应用系统进行集成(2)----发现Google APIs的RESTFul服务

上篇文章,我提到了,Google APIs暴露了86种不同种类和版本的API.我们可以通过在浏览器里面输入https://www.googleapis.com/discovery/v1/apis这个URL地址,其将会把所有Google API支持的不同种类和版本的API全部列出来.其具体信息如下: 序号 API 标题 名字 版本 RestFul请求的URL RestFul请求的URL 1 Ad Exchange Buyer API adexchangebuyer v1 https://www.g