WCF Web服务:上载文件,处理该文件,将该处理过的文件下载回来

时间:2008-11-21 20:22:00

标签: wcf c#-3.0

我可以处理文件部分的过程,但在我发疯之前,有人建立了一个简单的wcf服务&客户端(在Windows服务或IIS下运行),我可以用来上传文件,然后下载该文件?用最少的代码行? (C#或VB)

压缩&加密会很酷,但我会在以后将其分层!!

谢谢!

3 个答案:

答案 0 :(得分:3)

根据处理所花费的时间,最好使用两种方法,以避免遇到超时问题。

另外,我同意Igor,你应该使用stream而不是byte []。否则你可能会遇到OutOfMemory Exceptions。

[ServiceContract]
public interface IFileService
{
  // returns a Guid which you can use later to request the processed files
  [OperationContract]
  Guid SendFileToProcess(stream streamedFile);

  [OperationContract]
  Stream GetProcessedFile(Guid fileId);

  // use this to poll whether the service has finished processing
  [OperationContract]
  bool IsFileProcessed(Guid fileId);
}

答案 1 :(得分:2)

你应该能够相当容易地做到这一点。服务合同可能如下所示:

[ServiceContract]
public interface IFileService
{
  [OperationContract]
  byte[] ProcessFile(byte[] FileData);
}

加密部分可由WCF使用传输级别安全性进行本机处理。我不相信WCF直接支持压缩,但您可以使用GZipStream类添加它。

我没有像你描述的那样构建文件处理服务,但我已经构建了一个服务来处理在WCF客户端和服务之间来回传递的字节数组数据。它工作得很好。

答案 2 :(得分:0)

以流模式或/和长时间运行的活动对象模式使用WCF传输。 请关注此article了解更多详情或与我联系。