带附加参数的WCF REST文件上传

本文关键字:REST 文件 WCF 参数 | 更新日期: 2023-09-27 18:07:07

我一直在徒劳地尝试创建一个简单的REST文件上传WCF服务,它接受不止一条信息。

我在互联网上发现了相当多的地方,建议有可能有多个参数的OperationContract有一个流作为参数之一(上传文件与REST,使用Silverlight和WCF创建RESTful文件上传实用程序,WCF REST文件上传,从ASP上传文件到服务器)。. Net客户端使用WCF REST服务等),但无论我尝试多少次,我总是得到相同的错误信息。

对于Upload操作中的请求是该操作必须具有的流类型为Stream的单个形参

当其中一个参数是流时,实际上有可能有一个接受多个参数的OperationContract吗?如果有的话,是否有任何我可能错过的特定步骤需要采取,从而导致我无法这样做?

作为参考,我使用的是Visual Studio 2010, WCF 4.0

我已经上传了我试图开始工作的示例项目,它实际上是我所读过的示例中最小的内容,我应该需要能够上传带有其他参数的文件。我的例子。

带附加参数的WCF REST文件上传

是有可能的。我正在做它与UriTemplates。

[WebGet(UriTemplate="ReceiveChunk/{complete}?offset={offset}", Method ="POST", ResponseFormat = WebMessageFormat.Json, RequestFormat = WebMessageFormat.Json)]
public string ReceiveChunk(string complete, int offset, Stream fileContents)
{
//implementation
}

这是你想要的吗?

我知道这是一个老问题,但我今天一直在努力解决这个问题。我终于找到了这个链接,特别是:

2。您没有使用WebEndpoint或WebServiceHost;

我在控制台应用程序中自行托管我的服务,并且使用ServiceHost而不是WebServiceHost。更改主机类型解决了我的问题并解释了我的困惑。SOAP WCF服务要求操作只具有单个流参数,REST WCF服务则不需要。