我已经使用下面提到的文章来创建WCF服务
我已经使用了流,因为它应该是高效的,不应该缓存在服务器的内存中.
现在问题
1)我怀疑整个文件是否上传到Web服务器然后它被转移到WCF服务服务器…如果这是真的那么我没有利用流媒体以及iis和web服务器将关闭很快,如果用户上传大文件或多个用户正在上传文件
2)是否有其他有效的方法与其他技术进行相同的操作
请帮我 …
编辑:
如果我没有在ASP .Net代码中调用WCF服务方法,那么它也会将字节传输到我用HTTPFox检查过的Web服务器
我已经通过上传控件检查了上面的内容,并在UI上放了一个按钮,其click事件绑定到后面的代码中的一个方法.
所以,我仍然对数据的传输方式感到困惑
>客户端计算机 – Web服务器(ASP .Net应用程序) – 服务服务器(WCF服务)
>客户端计算机 – 服务服务器(WCF服务)
注意:如果我在button_click上放置一个调试点并上传10 kb文件,它会在不到1秒的时间内完成.但如果我上传50 MB的文件,那么它需要时间.
解决方法
1) I am having doubts that the entire
file is uploaded to the web server and
then it is transferred to WCF Service
server…if this is true then i am not
getting advantage of streaming as well
as iis and web server will be down
very soon if user uploads large file
or multiple user are uploading files
con currently
不,你这里的东西很混乱.当您使用WCF流式传输上传大型文件时,该文件将以块的形式发送 – 大小为几Kbyte的块. WCF服务器 – 在IIS中运行或在NT服务或控制台应用程序中自托管 – 同时接收这些块并在它们到达时将它们写入磁盘.
您不“将整个文件上传到Web服务器”,然后将其“传输”到WCF服务–WCF服务本身正在接收和处理文件 – 并且只有一次.
如果您自己托管WCF服务 – 在控制台应用程序,Winforms应用程序或Windows NT服务中 – 甚至没有任何IIS或Web服务器参与AT ALL. WCF自己处理它.
使用WCF流可能是最有效的内存之一,也是将大文件传输到服务器的最简单方法之一.
> MSDN WCF Streaming Sample
> Data Transfer Using Self Hosted WCF Service
> Sending Attachments with WCF
> Progress Indication while Uploading/Downloading Files using WCF