我对 Web 服务,尤其是 WCF 还很陌生,所以请多多包涵。
我正在编写一个 API,它需要几个参数,如用户名、apikey 和一些选项,但我还需要向它发送一个可以是几千字的字符串,它会被操纵并作为流传回。将它放在查询字符串中是没有意义的,所以我想我只是将消息正文发布到服务中。
似乎没有一个简单的方法可以做到这一点......
我的运营合同是这样的
[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);
然后我可以读入。但这会引发一个错误,说如果我想要一个流参数,它必须是唯一的参数。
那么我怎样才能在这里实现我想要做的事情,或者在查询字符串中发送几千个单词没什么大不了的?