gpt4 book ai didi

WCF 分块/流媒体

转载 作者:行者123 更新时间:2023-12-04 00:51:31 27 4
gpt4 key购买 nike

我正在使用 WCF 并希望将大文件从客户端上传到服务器。我已经调查并决定遵循 http://msdn.microsoft.com/en-us/library/aa717050.aspx 中概述的分块方法。

但是,这种方法(就像流媒体一样)将合约限制为有限的方法签名:

[OperationContract(IsOneWay=true)]
[ChunkingBehavior(ChunkingAppliesTo.InMessage)]
void UploadStream(Stream stream);

该示例使用了从固定路径上传文件并将其保存到服务器上的固定路径的相当方便的示例。因此,我的问题是如何传递附加参数来指定文件名、文件路径等内容。

例如。我想要类似的东西:
[OperationContract(IsOneWay=true)]
[ChunkingBehavior(ChunkingAppliesTo.InMessage)]
void UploadStream(Stream stream, String filePath);

提前致谢,
马克。

最佳答案

This article解释了如何使用 MessageHeader 属性来强制在 header 中传递内容,因此不计为参数。因此,与其传递流和其他元数据,不如创建一个具有 MessageContract 属性的类,并将所有元数据标记为 MessageHeader。然后,将该流标记为 MessageBodyMember(文章错误地将其称为“MessageBody”)。让您的 UploadStream 方法采用一个参数,其类型是您刚刚创建的 MessageContract 类的类型。我已经成功地做到了这一点,但我还没有与分块一起完成。祝你好运。

关于WCF 分块/流媒体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/323585/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com