我能否确定最大开机自检大小是否过大
本文关键字:开机自检 是否 | 更新日期: 2023-09-27 18:31:40
我通过 POST 将文件发送到我的 ApiController。
如果文件低于 2 MB,则一切都像魅力一样工作。如果文件较大,则出现错误 404。
这是我的控制器中的(旧)函数声明:
[HttpPost]
public HttpResponseMessage FileUpload(HttpRequestMessage req, string entryId = "", string owner = "", int debug = 0)
{
如果实体太大,则返回以下内容:
Remote Address:172.17.41.12:443
Request URL:https://webdevserver/myapp/api/Debug/FileUpload
Request Method:POST
Status Code:404 Not Found
或者,如果它在大小限制范围内,则:
Remote Address:172.17.41.12:443
Request URL:https://webdevserver/myapp/api/Debug/FileUpload
Request Method:POST
Status Code:200 OK
所以我想发送一条有用的错误消息 - 错误 404 绝对不是!- 偶然发现了 HTTP 状态代码 413,IIS 不会自动发送:(所以我将我的代码更改为:
[HttpPost]
public HttpResponseMessage FileUpload(HttpRequestMessage req=null, string entryId = "", string owner = "", int debug = 0)
{
if(req==null) {
// POST was not handed over to my function by IIS
// now is it possible to check whether file was empty or too large!? Because
return new HttpResponseMessage(HttpStatusCode.RequestEntityTooLarge);
// should only be sent if POST content was really too large!
那么,如何检查 POST 数据的大小是否太大或 POST 是否为空?
根据此博客,IIS 7 中引入了状态代码 404.13
以替换 http 状态代码413
。
由于这是设计完成的,因此我建议您按原样维护响应,并在代码中尝试确定 404 错误是否实际上是 404.13 错误。