/// <inheritdoc /> public override async ValueTask <T> DeserializeFromRequest <T>(RequestExecutionContext context) { var fileReader = new FileBufferingReadStream(context.HttpContext.Request.Body, _memoryThreshold); context.HttpContext.Response.RegisterForDispose(fileReader); try { await fileReader.DrainAsync(context.HttpContext.RequestAborted); fileReader.Seek(0L, SeekOrigin.Begin); using var textReader = new StreamReader(fileReader); using var xmlReader = new XmlTextReader(textReader); var serializer = GetSerializer(typeof(T)); return((T)serializer.Deserialize(xmlReader)); } finally { await fileReader.DisposeAsync(); } }