12 streaming wcf uploading chunking
我正在使用WCF并希望将大文件从客户端上传到服务器.我已调查并决定遵循http://msdn.microsoft.com/en-us/library/aa717050.aspx中列出的分块方法
但是,这种方法(就像流式传输一样)将合同限制为有限的方法签名:
[OperationContract(IsOneWay=true)]
[ChunkingBehavior(ChunkingAppliesTo.InMessage)]
void UploadStream(Stream stream);
Run Code Online (Sandbox Code Playgroud)
该示例使用了相当方便的示例,即从固定路径上载文件并将其保存到服务器上的固定路径.因此,我的问题是如何传递其他参数来指定文件名,文件路径等.
例如.我想要像:
[OperationContract(IsOneWay=true)]
[ChunkingBehavior(ChunkingAppliesTo.InMessage)]
void UploadStream(Stream stream, String filePath);
Run Code Online (Sandbox Code Playgroud)
马克,先谢谢你.
您可以将服务设置为会话式服务,并在合约中使用初始化方法,并将 IsInitiating 属性设置为 true。就像是:
[OperationContract(IsInitiating = true)]
void InitializeUploadService(string filename);
[OperationContract(IsOneWay = true, IsInitiating = false)]
[ChunkingBehavior(ChunkingAppliesTo.InMessage)]
void UploadStream(Stream stream);
Run Code Online (Sandbox Code Playgroud)
我从未尝试过使用流服务,但它基本上应该使 WCF 强制执行 InitializeUploadService 始终在 UploadStream 之前调用。
更多文档可以在这里找到: http://msdn.microsoft.com/en-us/library/system.servicemodel.description.operationdescription.isinitiating.aspx
| 归档时间: |
|
| 查看次数: |
10465 次 |
| 最近记录: |