WCF WebInvoke具有查询字符串参数和一个帖子正文

标签 wcf post webinvoke

我对Web服务特别是WCF还是很陌生,所以请耐心等待。

我正在编写一个API,该API需要几个参数,例如用户名,apikey和一些选项,但是我还需要向其发送一个字符串,该字符串可以是几千个单词,并且可以作为流进行操作并传递回去。只将其放在查询字符串中是没有意义的,所以我认为我只需要将消息正文发布到服务中即可。

似乎没有一个简单的方法可以做到这一点...

我的运营契约(Contract)看起来像这样

[OperationContract]
[WebInvoke(Method = "POST", BodyStyle = WebMessageBodyStyle.Bare,
UriTemplate="Method1?email={email}&apikey={apikey}"+
"&text={text}&quality={qual}", BodyStyle = WebMessageBodyStyle.Bare)]
Stream Method1(string email, string apikey, string text, string qual);

这行得通。但这是我想拉出并包含在帖子正文中的“文本”参数。我读到的一句话说有一个流作为另一个参数,像这样:
Stream Method1(string email, string apikey, string qual, Stream text);

然后我可以读入。但是这引发了一个错误,说如果我想要一个流参数,它必须是唯一的参数。

因此,如何实现在这里要执行的操作,或者在查询字符串中发送几千个单词没什么大不了的?

最佳答案

https://social.msdn.microsoft.com/Forums/vstudio/en-US/e2d074aa-c3a6-4e78-bd88-0b9d24b561d1/how-to-declare-post-parameters-in-wcf-rest-contract?forum=wcf

最佳答案,我发现可以解决此问题并为我工作,因此我可以正确遵守RESTful标准

关于WCF WebInvoke具有查询字符串参数和一个帖子正文,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7618787/

相关文章:

c# - 同时包含 "application/xml"和 "text/xml"ContentTypes 的 WCF 绑定(bind) SOAP 1.1 请求

wcf - 通过 WCF 路由服务将调用路由到旧版 ASMX Web 服务

wcf - 如何使用 webinvoke 方法(Post 或 PUT)在 wcf rest 中传递多个 body 参数

c# - 自托管服务时的 WCF 自定义错误页面(无 IIS)

c# - IIS 中托管的 WCF 服务在不同线程中使用时返回 "Safe handle has been closed"

c# - 围绕库包装 Web 服务

PHP 复选框验证,if else 问题

c# - GET 有效,但从远程服务器上的 JQuery 调用 WCF 时 POST 失败

angular - 如何在 Angular 4+ 上使用 cookie 来获取和发布

mysql - 有效地将大约 20kb 的文本重新保存到 mysql