Maximale http-Anforderungsgröße für asp web.api mit json

Ich habe Web-API-Projekt.

Ich muss dort JSON-Daten mit Datei als codierte Base64-Zeichenfolge (bis zu 200 MB) posten.

Wenn ich Daten bis zu ca. 10 MB sende, wird bei der nächsten Methode normalerweise das Modell ImportMultipleFileModel richtig ausgefüllt.

[HttpPost]
    public async Task<HttpResponseMessage> ImportMultipleFiles(ImportMultipleFileModel importMultipleFileModel)
    { 
        var response = ImportFiles(importFileModel);
        return response;
    }

Wenn ich mehr sende, ist das Modell null.

Warum

So ändere ich Methodensignatur auf:

    [HttpPost]
        public async Task<HttpResponseMessage> ImportMultipleFiles()
        {
            ImportMultipleFileModel importMultipleFileModel = null;
            var requestData = await Request.Content.ReadAsStringAsync();
            try
            {
                JsonConvert.
                importMultipleFileModel = JsonConvert.DeserializeObject<ImportMultipleFileModel>(requestData);
            }catch(Exception e)
            { }
}

Und für verschlüsselte 30 MB-Datei bekomme ich normalerweise requestData als JSON-Zeichenfolge. Für 60 MB bekomme ich leere Zeichenfolge. Warum

Nächste ändere ich die Methode auf

    [HttpPost]
        public async Task<HttpResponseMessage> ImportMultipleFiles()
        {
            ImportMultipleFileModel importMultipleFileModel = null;
            var requestData = Request.Content.ReadAsStringAsync().Result;
            try
            {
                importMultipleFileModel = JsonConvert.DeserializeObject<ImportMultipleFileModel>(requestData);
            }catch(Exception e)
            { }
}

Und die Deserialisierung ist aufgrund einer OutOfMemoryException fehlgeschlagen.

Warum

UPD: maxRequestLength, maxAllowedContentLength auf 2147483647 gesetzt

Antworten auf die Frage(2)

Ihre Antwort auf die Frage