У меня есть метод ASP.Net Web Api 2, который возвращает поток файлов, используя класс StreamContent.Есть ли способ получить результат потокового ответа?Я пытаюсь записать результаты после того, как файл был полностью передан клиенту.Или зарегистрируйте любые ошибки, которые произошли во время ответа.Я предполагаю, что это можно сделать, так как запрос позволяет вам зарегистрировать объект, который должен быть удален после того, как запрос полностью завершен.,Единственное, о чем я мог подумать, это переопределить метод Dispose на ApiController, но это выглядит глупо.
<RoutePrefix("MyControllerRoute")>
Public Class MyController
Inherits ApiController
<HttpGet>
<Route("MyRoute")>
Public Function GetFileStream() As IHttpActionResult
Dim fileStream As IO.Stream = IO.File.OpenRead("SuperLargeFile.txt")
Dim streamContent As New System.Net.Http.StreamContent(fileStream)
Dim response As System.Net.Http.HttpResponseMessage = Request.CreateResponse
Request.RegisterForDispose(fileStream)
response.Content = streamContent
response.Content.Headers.ContentType = New System.Net.Http.Headers.MediaTypeHeaderValue("text")
Return New Results.ResponseMessageResult(response)
End Function
Public Sub LogResultsOfFileStreamResponse()
'How would this be called?
'How would I get the results of the response, did it stream over successfully?
End Sub
End Class