将文件上载到REST WCF服务连接强制关闭问题

时间:2014-02-10 06:13:22

标签: wcf rest file-upload httpwebrequest

我在IIS 7.5和IIS8上托管了WCF websrvice,我正在起诉一个REST端点,以便从我的Web应用程序与Web服务进行通信。 我正在使用httpWebrequest上传文件,我已经在双方的web.config中设置了每个设置,以确保asp.net允许我上传大文件。 它与IIS 8中的大文件一起工作正常但在IIS 7.5中我得到以下错误:

活动代码:3005 事件消息:发生了未处理的异常。 活动时间:2014年2月10日下午4:04:39 活动时间(UTC):10/02/2014 6:04:39 AM 事件ID:8aea1d07d67743ba81a4c46bcd622ed1 事件顺序:63 事件发生:1 活动详细代码:0

申请信息:     应用领域:/LM/W3SVC/1/ROOT/OP.Web-1-130364857480032265     信任等级:完整

流程信息:     进程ID:5320     进程名称:w3wp.exe     帐户名称:IIS APPPOOL \ MyApplication AppPool

异常信息:     异常类型:IOException     异常消息:无法从传输连接读取数据:远程主机强制关闭现有连接。    在System.Net.Sockets.NetworkStream.Read(Byte []缓冲区,Int32偏移量,Int32大小)    在System.Net.PooledStream.Read(Byte []缓冲区,Int32偏移量,Int32大小)    在System.Net.Connection.SyncRead(HttpWebRequest请求,布尔userRetrievedStream,布尔probeRead)

远程主机强行关闭现有连接    在System.Net.Sockets.Socket.Receive(Byte []缓冲区,Int32偏移量,Int32大小,SocketFlags socketFlags)    在System.Net.Sockets.NetworkStream.Read(Byte []缓冲区,Int32偏移量,Int32大小)

如果你帮我解决这个问题,我将感激不尽。

1 个答案:

答案 0 :(得分:0)

如上所述,有两个不同的地方可以在IIS中指定请求大小 in this answer。也许WFC架构中还有其他地方。但是所有这些都限制在4GB(在某些情况下为2GB)。在我们的一个实现中,我们找到了最佳路由,即我们托管基于Owin的自定义Web服务器来专门处理上传的请求。需要几行代码才能启动并运行,并且asp.net网站上提供了样本。