WebService 中操作 HttpRequest / HttpResponse (二)
我们可以通过 HttpContext.Current.Request/Response 将WebService 改造为更佳适合被HttpWebRequest调用的方法。 在帮助页面里,你可以看到Http的调用方式: 你可以按照这个方式用 HTTP POST 调用这个WebMethod: 【客户端】 ? 这时 HttpResponse 返回的是一个Xml格式的字符串。 当然可以控制 Response.ContentType 来返回Xml以外的格式,比如:json,image等 ? 如果希望用HTTP GET方式调用WebMethod,则需要使用 ScriptMethod 特性:[ScriptMethod(UseHttpGet=true)],此特性用于指定可从客户端脚本调用的方法的信息。使用此特性可以指定可用于调用方法的 HTTP 谓词(GET 或 POST)。它还使您可以指定是要使用 JSON 还是 XML 对响应进行格式设置。 使用 ScriptMethod 特性时,同时要使用:[System.Web.Script.Services.ScriptService] (Service1类上的特性) 【服务端】 ScriptMethod 还有一个参数可以控制输出 ResponseFormat,所以没有必要直接控制 Response.ContentType,直接返回即可。 {"d":{"__type":"WebSvcHttp.Task","ID":"1b6d28b961324c69a690204bc07922ea","Title" :"test"}} 一番改造,WebMethod 也能成为 REST 架构风格的 Web API,但是它还无法实现 UrlRewrite,返回的Json也不够单纯,控制也还达不到WCF那么强大。不过简单应用也足够了。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- 一些常用的WebServices
- angularjs – 是可能的转储和恢复window.angular创建一个可
- Shell已不是运维开发的主要编程语言,看看运维同行都在用什
- angular – 如何通过选择器访问DOM元素
- bash – 我应该如何导出http_proxy变量?
- 如何编辑多吉字节文本文件? Vim不工作=([closed]
- 基于Bootstrap的标签页组件及bootstrap-tab使用说明
- angularjs – CreateProcess error = 193,%1不是有效的Win
- webservice的cxf和spring整合发布
- rails2.3.5+will_paginate 2.3.15支持bootstrap的Rend...