当前位置:  开发笔记 > 编程语言 > 正文

在单个操作上启用多个HTTP方法?

如何解决《在单个操作上启用多个HTTP方法?》经验,为你挑选了2个好方法。



1> Prem Rajendr..:

如果有人在寻找不同的解决方案,

[OperationContract]
[WebInvoke(Method="*")]
public <> DoWork()
{
     var method = WebOperationContext.Current.IncomingRequest.Method;
     if (method == "POST") return DoPost();
     else if (method == "GET") return DoGet();
     throw new ArgumentException("Method is not supported.");
}



2> Eric Schoono..:

这篇由Carlos Figueira在MSDN论坛上发布的帖子有一个解决方案.我现在就说这个,但如果有人有任何更清洁的解决方案让我知道.

[OperationContract,
WebInvoke(Method="POST",
    BodyStyle = WebMessageBodyStyle.Bare,
    RequestFormat = WebMessageFormat.Xml,
    ResponseFormat = WebMessageFormat.Xml,
    UriTemplate = "query")]
XElement Query_Post(string qry);

[OperationContract,
WebInvoke(Method="GET",
    BodyStyle = WebMessageBodyStyle.Bare,
    RequestFormat = WebMessageFormat.Xml,
    ResponseFormat = WebMessageFormat.Xml,
    UriTemplate = "query?query={qry}")]
XElement Query_Get(string qry);

推荐阅读
农大军乐团_697
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有