我有一个已发布的api路由,它返回了一个Task。在一个完全独立的站点中,我试图点击路径,获取流,并将内容保存到访问该站点的系统本地文件。从一个测试控制台应用程序到达路径我得到的流很好,可以做任何我想要的。但是从我单独的MVC控制器中,当单步执行时,在点击路径并等待结果后,我的页面似乎停止了。单步执行它只是在踩到那条线后没有做任何事情。我该如何解决这个问题?
抱歉,我忘记了我们提取了很多可能很重要的细节。
GetStream方法基本上只是
return (new HttpClient()).GetStreamAsync(route); //where route is the route to my api method
我路线背后的方法有这个
HttpResponseMessage result = new HttpResponseMessage(HttpStatusCode.OK);
var stream = new FileStream(path, FileMode.Open);
result.Content = new StreamContent(stream);
result.Content.Headers.ContentType = new MediaTypeHeaderValue("application/octet-stream");
return result;
mvc控制器中的方法是
public FileResult DownloadLogFile([Bind(Include = "SelectedLogFile")] DiagnosticsModel diagnostics)
{
using (var downStream = GetStream())
{
return new FileStreamResult(downStream, System.Net.Mime.MediaTypeNames.Application.Octet);
}
}
private Stream GetStream()
{
var apiResult = api.GetStream();
return apiResult.Result;
}