0

我正在设置一个需要接收文件的 web 服务,有时文件可能 > 10MB,所以我决定使用 WCF 4.5 中最新的流功能。不幸的是,如果它是方法中的唯一参数,我只能使用流,就像这样 -

public void SendLargeFile(Stream stream)

那么我怎样才能获得与文件一起传递的更多信息,比如关于文件是什么以及需要用它做什么的变量?似乎只是发送文件有点没用。我想做的是这样的 -

public void SendLargeFile(Stream stream, string fileName, string customerName)

我见过一些人在谈论消息,但与它需要做的所有事情相比,这似乎是一团糟。

4

1 回答 1

0

[DataContract]您可以考虑为您的参数创建一个:

public void SendLargeFile(SendLargeFileRequest request)

请求是:

[DataContract]
public class SendLargeFileRequest 
{
      [DataMember] 
      public Stream stream;
      [DataMember] 
      public string fileName;

      [...]
}

这有助于您在将来更改您的请求,而无需修改您的签名OperationContract

于 2013-02-03T14:32:21.470 回答