1
6
代码项目中有一个这样的示例,请参见: http://www.codeproject.com/KB/WCF/WCF_FileTransfer_Progress.aspx |
2
1
如果你有一个巨大的WCF呼叫,那么你只有两个状态,要么全有,要么全无。此外,WCF有一个最大事务大小,因此返回一个大数据集有超过此限制的风险。 为了在我的项目中解决这些问题,我将一个大请求拆分为许多小请求。然后,我检查有多少响应与原始请求,以获得进度指示。 编辑:添加了更好的解释。 |
3
0
这个 CodeProject article 使用Silverlight可能很棘手,因为Silverlight只能访问BasicHttpBinding——尽管看起来BasicHttpBinding有一个TransferMode=“Streamed”,所以可能是这样——我不知道。 如果你能让它返回一个流,那似乎是最好的方法。 尽管如此,我还是认为我会提出一种随机的“其他”方法。 也许您可以将数据序列化为一个文件,并使用WebClient下载它。因此,基本上,您将拥有一个WS.GetData(),它将在服务器上保存一个文件并返回其文件名——然后Silverlight应用程序将使用WebClient下载它(它有一个DownloadProgressChanged事件)。
|
4
0
编辑 当前位置我的回答是,您需要silverlight上载程序,但实际上看起来您需要silverlight下载程序。除了使用HTTP GET、二进制WCF或套接字之外,您可以执行我为上传程序建议的相同操作。 我已经编写了一个带有进度条的Silverlight 2上传程序,并模仿了它 this 如果您想使用WCF而不是HTTP POST,这可能会更好,因为Silverlight 3现在支持二进制消息编码: <<binding name=“MyBinaryBinding”maxBufferSize=“2147483647” maxReceivedMessageSize=“2147483647”> <httpTransport/> </定制绑定> |
Ehsan Akbar · 当请求被激发时,WCF请求时间会增加 6 年前 |
Gans · 具有多操作合约的WCF Rest服务 6 年前 |
Moelgaard · NLog中的IIS应用程序名称。配置 6 年前 |
Kerwen · WCF服务调用异步函数 6 年前 |