问题描述
注意:这类似于this question,但与Linux而非IIS上的Azure应用服务有关。
我有一个用于上传大型文件的API端点。如果验证失败,文件名无效等,则不应上传文件。我们甚至接受校验和,如果文件已经存在,则跳过上传。
不幸的是,无论我在用户代码中做什么,Kestrel总是耗尽整个请求正文(有关详细信息,请参见this issue)。换句话说,即使我的代码未读取响应主体并返回早期错误响应,用户也必须在获取响应之前“上传”整个文件。在该期中,我收到一条提示,我可以返回一个Connection: close
标头来避免这种情况。不幸的是,尽管在本地调试时在响应中收到标头,但通过Linux上的Azure App Service在生产环境中运行时却没有收到标头。换句话说,如果ASP.NET Core响应中存在该标头,则Linux环境上的Azure App Service似乎会删除该标头。
是否可以通过Linux上的Azure App Service强制返回Connection: close
标头?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)