将大文件上传到Webservice

将大文件上传到Webservice

本文介绍了将大文件上传到Webservice .net3.5时出现问题的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

尊敬的专家,

我有一个from可以将文件上传到数据表(在会话中),然后单击send按钮后,它会动态调用Web服务并将文件上传到数据库.

我已将应用程序和Web服务的请求长度等设置为2GB:

 <   httpRuntime     executionTimeout   ="  10000"     maxRequestLength   ="  2000000"  / > 



一切正常,直到文件大小达到100MB

之后,应用程序向我返回异常:

调用的目标引发了异常.
InnerException:基础连接已关闭:发送时发生意外错误.



我的网络服务代码中有一个自定义例外,因此我知道它永远不会输入网络服务代码.

我应该补充一点,动态调用Web服务是我使用的dll....有人可以帮助我吗?

小错别字和格式[/edit]
[improve]我应该补充说,webservice和Prosentation在同一台服务器上,我也已经通过本地计算机上的UI对此进行了检查,以调用该webservice [/improve]
[improve2]我正在使用.net 3.5 [/improve2]
----------------------------

 [改进3],这是完整的错误文本
发生System.Net.WebException
  Message =基础连接已关闭:发送中发生意外错误."
  Source ="System.Web.Services"
  堆栈跟踪:
       在System.Web.Services.Protocols.WebClientProtocol.GetWebResponse(WebRequest请求)
       在System.Web.Services.Protocols.HttpWebClientProtocol.GetWebResponse(WebRequest请求)
       在System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(字符串methodName,Object []参数)
       在NHTC.WA.DMS_Maroun.wsprojFileInsert.WSManageDMSProject.InsertFile(DataSet dsInput,String userName)在C:\ NHTC_TFS_WorkSpace \ OrganizationPortal \ UI \ DMS_Maroun \ NHTC.WA.DMS_Maroun \ NHTC.WA.DMS_Marows \ Reference cs:2212行
       在NHTC.WA.DMS_Maroun.iMultipleuploads_M.insertNewFiles()中的C:\ NHTC_TFS_WorkSpace \ OrganizationPortal \ UI \ DMS_Maroun \ NHTC.WA.DMS_Maroun \ NHTC.WA.DMS_Maroun \ iMultipleuploads_M.aspx.cs:
  InnerException:System.IO.IOException
       Message =无法将数据写入传输连接:无法对套接字执行操作,因为系统缺少足够的缓冲区空间或队列已满."
       Source =系统"
       堆栈跟踪:
            在System.Net.Sockets.NetworkStream.MultipleWrite(BufferOffsetSize []缓冲区)
            在System.Net.Connection.Write(ScatterGatherBuffers writeBuffer)
            在System.Net.ConnectStream.ResubmitWrite(ConnectStream oldStream,布尔值invalidWrite)
       InnerException:System.Net.Sockets.SocketException
            Message =无法在套接字上执行操作,因为系统缺少足够的缓冲区空间或队列已满"
            Source =系统"
            错误代码= 10055
            NativeErrorCode = 10055
            堆栈跟踪:
                 在System.Net.Sockets.Socket.MultipleSend(BufferOffsetSize []缓冲区,SocketFlags socketFlags)
                 在System.Net.Sockets.NetworkStream.MultipleWrite(BufferOffsetSize []缓冲区)
            InnerException:
[/improve] 
解决方案






这篇关于将大文件上传到Webservice .net3.5时出现问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

08-13 04:03