返回首页


{S0}这篇文章的目的
我试图通过HTTP传输大文件到/从WCF,但我所面对的问题,我是不能够上传文件大小超过45 KB。我用Google搜索过WWW,但我没有找到任何现成的使用示例代码/解决方案。使用在WWW和MSDN的解释,我尝试了许多配置设置组合,终于成功地在传输大文件(我已经测试在IE6到1GB)。
我想分享我的经验,以支持他人朝这个方向努力,并邀请开发者社区的审查意见。说明
要传输大文件,使用"WCF服务的HTTP??我们可以使用以下类型的绑定:的wsHttpBindingbasicHttpBinding的
在的wsHttpBinding,我们可以设置transfermode属性作为缓冲,但也有在使用这种方法对于大文件的缺点,因为它需要把整个文件上传/下载前的内存,是一个大的缓冲区上都需要Web客户端和WCF服务主机。但是,这种方法非常有用的小文件传输,安全。
在basicHttpBinding的,我们可以使用的transfermode流,使该文件可以在块的形式传输。我们必须确保传输数据块的额外的安全机制。在此张贴的安全机制没有解释。实施:WCF服务
创建一个新的"WCF服务??项目。创建一个新的服务名称TransferService。现在,我们将看到一个接口文件"ITransferService??和类文件TransferService.cs。 ITransferService应该有两种方法,一种上传和下载。WCF服务示例接口代码

回答

评论会员:符文ř汉森 时间:2012/01/27
喜阿迪T

我会通过WCF上传视频,我感谢您的文章,我希望可以帮我完成。但我遇到问题时,我在VS 2010中尝试打开您的解决方案。

在转换过程中,我得到的错误",在转换过程中发生的一些错误。"

而当我打开您的解决方案,我看到ClientWebSite(不可用)webservice的(不可用)。

因此,有没有项目,我跑

我不认为有什么错了,我的电脑和VS 2010

我该怎么办?你提供了一个新的解决方案,它可以运行在VS 2010吗?

我仍然有一个希望,它可以帮助我通过WCF实现上传视频,并感谢您的文章。
评论会员:chandru1800 时间:2012/01/27
WCF流:上传/下载通过HTTP {A}文件]
我做的是在这个环节,但ü在wesite实施我特林在Windows我dono的代码怎么办PLZ发送后创建WCF的代码,我需要运行在Windows应用程序PLZ的代码发送尽快步骤尽可能
评论会员:scholastic80 时间:2012/01/27
我想使用一个WPF客户端执行。我必须删除ASP.NET兼容性模式
评论会员:?k_apsar 时间:2012/01/27
您好,

是否有可能使用该Web服务。NET 2.0 Web站点。 u能请上传一些示例代码。


Apsar
评论会员:Xoaitua 时间:2012/01/27
你能重新上传的源代码。我无法建立并运行该项目。 THX感谢:(
评论会员:会员4075615 时间:2012/01/27
!这3天的挣扎,你的文章让我在10分钟
评论会员:freddie2000 时间:2012/01/27
在代码中引用此行
bytesRead = fileInfo.FileByteStream.Read(缓冲,0,buffer.Length)
在其上放置一个断点,bytesRead始终是4096;?你能使其更大

PS。我注意到你的代码是可疑的类似的!
http://www.codeproject.com/KB/WCF/WCF_FileTransfer_Progress.aspx
评论会员:KishoreT 时间:2012/01/27
我给样本量4096阅读,可以增加大小

我已解释过关于特定问题和解决方案,在上传/下载通过HTTP
评论会员:。会员2535759 时间:2012/01/27
在一个应用程序调用WCF和逐位传输到不同的位置,这就是后来的下载文件位用户通过ASPX页面的超链接。

WCF是传输文件从一个服务器到另一个Windows服务调用。
绑定采用的是"基本的HTTP绑定"。
我做了我的初步分析,发现对WCF有一个无效合同的约束力。

我不能够解决这个问题。

有人可以给的想法时,无效合同的约束力异常arised。它可以帮助我诊断问题。

请帮助
评论会员:彼得布莱恩 时间:2012/01/27
它的工作原理.....搞好
彼得
评论会员:lvlopezg 时间:2012/01/27
喜;

我的评价是5

调情提前POR感谢您的帮助。此代码的工作为上传的罚款... ...但是当我试图下载较大的文件,50KB失败。

我审查的代码,但我不出来的地方找到任何东西。

你有什么想法?

感谢
评论会员:!!KishoreT 时间:2012/01/27
你的web.config(主机和客户端)在这篇文章发布的文件相比,
评论会员:?evifra 时间:2012/01/27
请问这件事情在Silverlight工程,因为Silverlight有有限的约束力
评论会员:KishoreT 时间:2012/01/27
我没有与Silverlight工作。但我相信它应该工作,甚至在Silverlight中,因为使用绑定是basicHttpBinding的
评论会员:。shahshi 时间:2012/01/27
它不会工作,因为transfermode"流"是不支持
评论会员:帕特里克Kalkman 时间:2012/01/27
好文章感谢分享
评论会员:。madan_ponna 时间:2012/01/27
阿迪,感谢us.Very有益的分享您的工作。
评论会员:PhaniKumar中号T 时间:2012/01/27
非常有帮助。良好的工作基肖尔马布
评论会员:。maq_rohit 时间:2012/01/27
如果这个作品,我会给你5 ..
评论会员:会员4488994 时间:2012/01/27
大文件
好文章