gpt4 book ai didi

c# - 在单个操作中启用多个 HTTP 方法?

转载 作者:太空狗 更新时间:2023-10-29 17:34:44 27 4
gpt4 key购买 nike

我有一个操作契约(Contract)(如下),我想允许 GET 和 POST 请求。我如何告诉 WCF 接受对单个 OperationContract 的两种类型的请求?

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

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

最佳答案

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

[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.");
}

关于c# - 在单个操作中启用多个 HTTP 方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/555073/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com