加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

xml – WCF – 让客户端选择返回格式

发布时间:2020-12-16 07:46:24 所属栏目:百科 来源:网络整理
导读:我正在尝试自己学习一些WCF.我有C#/ ASP.net知识,但我是WCF的新手.我在学习的过程中使用Visual Studio 2010来开发一些应用程序. 我开发了一个小型Web服务,它充当TODO /任务管理器的后端,用户可以在其中创建/删除/编辑新事件;这一切都非常简单和基本. 我的问
我正在尝试自己学习一些WCF.我有C#/ ASP.net知识,但我是WCF的新手.我在学习的过程中使用Visual Studio 2010来开发一些应用程序.

我开发了一个小型Web服务,它充当TODO /任务管理器的后端,用户可以在其中创建/删除/编辑新事件;这一切都非常简单和基本.

我的问题如下:

>有没有办法让客户选择他想要的返回格式(例如xml / json / rdf)而无需编写新的操作合同?
>如何在客户端上看到Web服务发送给我的确切消息(以便我可以检查它是否是例如json表示或xml消息).

Web浏览器从网站选择响应格式的方式是通过 content negotiation,特别是通过使用 Accept和 Content-Type HTTP标头.

例如,如果您的客户端需要JSON格式的响应,它将向服务器发送一个如下所示的HTTP请求:

GET /resource HTTP/1.0
User-Agent: YourClient 1.0
Accept: application/json

反过来,服务器将使用这样的HTTP数据包进行响应:

HTTP/1.0 200 OK
Content-Type: application/json
Content-Length: 20

{ "type" : "json" }

遗憾的是,WCF没有配备开箱即用的内容协商,但有一个非常好的第三方库可以在没有太多工作的情况下启用它,称为WcfRestContrib.他们的documentation描述了你必须采取的(非常简单的)步骤工作.总结一下,你必须这样做

>根据您希望支持的内容类型装饰您的服务类,
>装饰您希望内容协商感知的方法,以及
>从该方法返回可序列化的业务对象.

至于你的第二个问题,Fiddler是测试客户端和服务器的不错选择.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读