WCF 的 WebGet 方式,可以当url 直接访问服务内方法
来源:互联网 发布:java websocket服务器 编辑:程序博客网 时间:2024/05/17 03:53
.NET 3.5以后,WCF中提供了WebGet的方式,允许通过url的形式进行Web 服务的访问。在以前的代码中,写过多次类似的例子,但总是忘记如何配置,现在将设置步骤记录如下:
- endpoint通讯协议设置成 webHttpBinding
- endpoint的行为设置成 <webHttp />
- 在接口上加入 WebGet 的Attributes
示例代码如下: web.config文件的配置
<system.serviceModel> <services> <service name="Services.ShowerService"> <endpoint binding="webHttpBinding" behaviorConfiguration="WebBehavior" contract="Services.IShowerService" /> </service> </services> <behaviors> <endpointBehaviors> <behavior name="WebBehavior"> <webHttp /> </behavior> </endpointBehaviors> <serviceBehaviors> <behavior name=""> <serviceMetadata httpGetEnabled="true" /> <serviceDebug includeExceptionDetailInFaults="false" /> </behavior> </serviceBehaviors> </behaviors> </system.serviceModel>
WCF接口的设置,这里加入了对URI模板(UriTemplate)和JSON(WebMessageFormat.Json)的支持:
namespace Services{ [ServiceContract] public interface ShowerService { [OperationContract] [WebGet(UriTemplate="/Hello/{name}", RequestFormat=WebMessageFormat.Json, ResponseFormat=WebMessageFormat.Json)] string Hello(string name); }}
测试:打开IE浏览器,在地址栏输入:http://localhost:3000/Services/ShowerService.svc/hello/abc,将会看到访问后的结果。 调试:将Web.config中的 <webHttp /> 修改为 <webHttp helpEnabled="true" />将可以在浏览器页面中列举出可用接口,并提供提交的数据样例。打开IE浏览器,在地址栏输入:http://localhost:3000/Services/ShowerService.svc/help 即可。 Siverlight 访问:使用SL的WebClient访问WebInvoke方法时,不要忘记将 HttpRequestHeader.ContentType 设置成 application/json,代码如下所示:
WebClient client = new WebClient(); client.Headers[HttpRequestHeader.ContentType] = "application/json";
0 0
- WCF 的 WebGet 方式,可以当url 直接访问服务内方法
- WCF 的 WebGet 方式
- WCF 的 WebGet 方式
- 子类只能覆盖超类中“可以直接访问”的方法
- tomcat 输入ip可以直接访问项目的方法
- 配置Tomcat 输入ip可以直接访问项目的方法
- Tomcat 输入ip可以直接访问项目的方法
- WCF 的 Web 访问方式
- java 判断一个url是否可以访问的方法
- 外部类可以自由访问内部类的private方法
- 以POST方式访问wcf方法
- 以Get方式访问wcf方法
- Wcf 可以公网访问的配置文件
- WCF WebGet WebInvoke WCF Jquery 调用
- WCF WebGet WebInvoke WCF Jquery 调用
- Qt对WCF服务的访问
- Microsoft Mobile访问WCF服务的例子
- WCF服务访问超时的问题
- 更改vs2008项目名称
- Android 编程下的代码混淆
- 使用Vitamio打造自己的Android万能播放器(3)——本地播放(主界面、播放列表)
- 创建一个可执行的python脚本
- 我的 so
- WCF 的 WebGet 方式,可以当url 直接访问服务内方法
- 64-bit Tips
- Lex与Yacc学习(二)之第一个Lex程序
- char * a, char ** a, char * a[], char a[][], char * a[][], char ** a[][], char * a [][][], and so on
- Android之断点续传下载
- Android 开发学习:新版NDK 使用
- Android.mk详解
- Maximal Rectangle
- android中进行https连接的方式