使用其他参数上载WCF REST文件

时间:2011-08-31 23:07:53

标签: c# .net wcf

我一直在努力尝试创建一个简单的REST文件上传WCF服务,该服务接受多条信息。

我在互联网上找到了相当多的地方,表明有一个以上的参数可以作为参数之一(Upload file with RESTUsing Silverlight and WCF to create a RESTful File Upload Utility的StreamContract, WCF REST File UploadUploading File to server from ASP.Net client using WCF REST Service等)但无论我尝试多少次,我都会收到相同的错误消息。

  

对于操作中的请求上载为操作必须具有的流   一个类型为Stream的参数。

当其中一个参数是Stream时,实际上是否可以让OperationContract接受多个参数?如果有的话,我可能已经错过了需要采取的任何特定步骤,这些步骤会导致我无法这样做。

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

我已经上传了我想要开始工作的示例项目,它实际上是我读过的示例中的最小值,我应该能够上传带有其他参数的文件。 My Example

2 个答案:

答案 0 :(得分:3)

是的,有可能。我正在使用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
}

这就是你要找的东西吗?

答案 1 :(得分:0)

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

<强> 2。您没有使用WebEndpoint或WebServiceHost;

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