我能否确定最大开机自检大小是否过大

本文关键字:开机自检 是否 | 更新日期: 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 错误。