WebAPI上传调用两次,错误响应

时间:2016-03-17 13:18:42

标签: c# .net asp.net-web-api

我有一个控制器,它上传文件,处理它,然后响应服务器。一切都在当地完美。如果测试文件很小,部署到服务器时一切都很完美。但是,一旦我尝试更大的测试文件(27MB),我会得到一些奇怪的结果。在处理和似乎正在发送OK之后(大约需要90秒),整个请求再次开始处理。我的客户端没有发送新请求,IIS日志只显示一个请求。我的代码简化为以下内容:

  public async Task<IHttpActionResult> UploadNfsExcelFile()
  {
     // Using this STRICTLY to make sure the request is new each time for logging and debugging
     Guid trackMe=Guid.NewGuid();
     Logger.DebugFormat("Request coming in: {0}", trackMe);
     string tempPath = Path.GetTempPath();
     // This handles the persistence of the file name for processing
     CustomMultipartFormDataStreamProvider streamProvider = new CustomMultipartFormDataStreamProvider(tempPath);
     await Request.Content.ReadAsMultipartAsync(streamProvider);
     foreach (string result in streamProvider.FileData.Select(entry => entry.LocalFileName))
     {
          /*  File processing here */
     }
     Logger.DebugFormat("File processing done: {0}", trackMe);
     return Ok(new 
     {  
         token: "This would be the response token"
     });
  }

我的日志文件显示&#34;请求进入:GUID&#34; log语句,然后是&#34;文件处理完成:GUID&#34;语句,然后立即显示我为一些过滤器(身份验证验证)设置的日志记录,然后是&#34;请求进入的集合:NEWGUID&#34;,&#34;文件处理完成:NEWGUID&#34;。此时,Chrome显示空响应。我的IIS日志只显示一个响应状态为 200

的请求

修改

其他信息。仍然遇到这个问题,似乎是当文件处理花费超过60秒时,serer才会重新处理请求。

编辑2 现在在本地检查wireshark,似乎我的TCP正在重新发送请求(我正在获取&#34; [重新组装的PDU的TCP段]&#34;每60秒对应一次重新执行的Web api方法

0 个答案:

没有答案