我使用netTcpBinding和流将文件从一台服务器发送到另一台服务器,如this codeproject文章中所述,据我所知在wcf中,当我们想发送流时,我们应该创建并返回它作为消息合约,问题是如何完成文件发送?因为我想从收件箱中移动文件时,文件发送完成保障如何在流式传输结束后删除文件wcf
回答
我在这个blog找到很好的解决方案,如果有人需要它在未来
OperationContext clientContext = OperationContext.Current;
clientContext.OperationCompleted += new EventHandler(delegate(object sender, EventArgs args)
{
if (fileStream != null)
fileStream.Dispose();
});
当第二个服务器完成从第一台服务器接收文件到发件箱,它可能然后调用另一个Web服务方法,以确认它得到了文件。此时,您可以将文件从收件箱移至发件箱,并保证其他服务器收到该文件。
好,但如果第一个服务器获取文件的东西,失去了试图索要移动到收件箱中,当连接?比客户端将收到文件两次 – 2011-02-28 06:37:32
你是正确的,在设计可靠的分布式系统时,你需要考虑到所有类型的场景中的信息丢失,服务器宕机等你将不得不拿出一个设计,手柄这种情况并确保不会创建重复的文件。我不相信WCF中有任何东西可以帮助你自动做到这一点。 – Saeed 2011-02-28 11:47:57
我想我找到了解决方案,检查我的答案 – 2011-03-01 06:29:38
- 1. WCF流式文件传输.NET 4
- 2. 从WCF服务流式传输文件
- 3. xamarin.ios mp3从url流式传输结束
- 4. 流式传输JPEG,检测JPEG结束
- 5. 如何通过WCF传输文件后关闭流?
- 6. 从Sharepoint WCF流式传输
- 7. 如何在Django中流式传输文件的最后几行?
- 8. 如何流式传输MP3文件(iOS)
- 9. 如何流式传输WAV文件?
- 10. 无法删除已创建和流式传输的文件
- 11. 如何在流式传输中删除HashMap的元素(lambda)
- 12. 使用WCF流式传输上传文件,从流式传输中读取微小的文件
- 13. 如何使用SQL文件流式传输win32 API并支持WCF流式传输
- 14. 通过HTTP通过WCF流式传输文件上传IOException
- 15. WCF流媒体文件传输
- 16. 何时使用WCF流式传输
- 17. 流式传输wav文件
- 18. 流式传输MP4文件
- 19. WCF流式传输/分块上传?
- 20. 如何在使用WCF流式传输大文件时显示反馈
- 21. 上传后删除文件
- 22. 如何在结束MVC应用程序时删除文件?
- 23. Tomcat 6:如何在Web方法调用结束后删除临时文件?
- 24. Mochiweb流式传输结果
- 25. .xlsx在流式传输事件后的文件腐蚀
- 26. 文件传输/ WCF
- 27. 在Django中流式传输CSV文件
- 28. 在Node.js中流式传输大文件
- 29. 在zope中流式传输xls文件
- 30. 通过WCF流式传输100个文件?
这是我可以跨越的解决方案,并且一开始看起来很棒。但是,它会执行客户端是否已成功复制流。如果你只是试图处理资源,这不是问题(事实上,它是完美的)。但是,如果您移动文件,或者更糟糕的是删除文件,则会出现问题。 – Jeff 2011-05-27 21:27:32
你是对的@Jeff,我发现了后者,你知道另一种方法吗? – 2011-05-28 10:55:06