表单提交给Web Api Get(字符串id)被重复,直到::ERR_CONNECTION_RESET
Form submitted to Web Api Get(string id) is repeated until ::ERR_CONNECTION_RESET
我有一个Web Api网站,我试图调用控制器,并让它从服务器返回一个zip文件。我使用javascript向我的Web Api站点提交了一个表单:
document.getElementById("downloadSettings").submit();
控制器上的动作定义为:
public HttpResponseMessage Get(string id)
提交的表单有一个具有预期值(id)的输入。我提交表单,控制器接收调用,执行操作(作为byte[]
获取请求的文件),并尝试像这样返回文件:
using (System.IO.MemoryStream ms = new System.IO.MemoryStream(fileContents))
{
var response = Request.CreateResponse(HttpStatusCode.OK);
response.Content = new StreamContent(ms);
response.Content.Headers.ContentDisposition = new System.Net.Http.Headers.ContentDispositionHeaderValue("attachment");
response.Content.Headers.ContentDisposition.FileName = "fileName.zip";
return response;
}
简单地运行代码结束在我收到一个错误- ERR_CONNECTION_RESET
。
如果我调试Get动作,我看到的是- Get
函数完成的那一刻,一个新的线程到达函数的开始!没有从浏览器发出新的调用(网络选项卡显示没有新的调用),然而,该函数重复了几次,直到突然它没有,并且在客户端(浏览器)上我得到ERR_CONNECTION_RESET
。
怎么回事?我怎么修理它?我是否在尝试返回文件的方式上做错了什么?
显然,问题出在using([...])
。一旦我把它从记忆流中删除,一切都很顺利!
我仍然想知道…那些重复电话是怎么回事?
相关文章:
- 同步调用,直到用户通过angular验证为访问者
- 固定位置菜单时滚动,直到它击中一个相对容器的底部
- 正在等待呈现图表,直到加载数据为止
- Javascript没有't更新DOM,直到用户交互
- 设置随机数,然后每5秒随机减少一次,直到达到0(javascript)
- .value返回字符串,直到我将其保存到变量
- 暂停函数执行流程,直到ajax请求完成
- 第一个字第一个字符第二个字第二个字符,一直到数组结束
- 如何使用angular _ design保持全局当前用户直到注销
- 服务器发送的事件直到脚本完成才更新
- 延迟代码执行,直到下载完成
- Javascript重定向循环直到成功
- Jquery:直到寄存器打开的时间计数器
- regex来构建字符串,直到遇到第N个匹配项
- 轮询:获取请求直到结果合适
- Jssor滑块停留在第一个图像上,直到我单击它
- 延迟单击事件,直到AJAX完成
- 等待,直到使用Java在selenium网络驱动程序中手动单击登录按钮
- 继续检查,直到为True
- 停止执行,直到jquerypost完成