asp.net-web-api – 与web api和web api 2之间的PushStreamContent有什么区
|
我已经创建了两个相同的Web api项目,一个在VS 2012中,另一个在VS 2013中,都以4.5 .NET框架为目标.这些项目是基于Filip W的视频下载教程,在这里找到:
复制&将教程中的代码粘贴到VS 2012项目(使用web api 1?)不产生错误(在添加正确的“using”语句之后). 但是,当我在VS 2013项目中遵循相同的步骤时,我会收到以下两个错误:
所以我的猜测是错误2是这个代码的真正问题:
未标识为< action> web api 1& 2?我真的很困惑,因为我正在针对同一个框架,我似乎无法直观的跨越如何解决它.我改变WriteToStream签名的尝试都失败了. 有没有人知道我需要什么来获取PushStreamContent来接受Web api 2或VS 2013或新的C#中的WriteToStream或者这个代码的区别在哪里生活的线索? 解决方法我不知道这是否是Web API中的一个错误,我们将进行调查.同时您可以尝试以下解决方法:response.Content = new PushStreamContent(async (Stream outputStream,TransportContext context) =>
{
try
{
var buffer = new byte[65536];
using (var video = File.Open(filename,FileMode.Open,FileAccess.Read))
{
var length = (int)video.Length;
var bytesRead = 1;
while (length > 0 && bytesRead > 0)
{
bytesRead = video.Read(buffer,Math.Min(length,buffer.Length));
await outputStream.WriteAsync(buffer,bytesRead);
length -= bytesRead;
}
}
}
finally
{
outputStream.Close();
}
});
注意:我做了另一个改变(删除了catch块)到代码来允许异常传播.这样,您的客户知道在服务中发生了一些错误,否则他们会假设一切顺利. (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net-mvc – asp.net mvc博客引擎
- asp.net – 防止页面在回发后滚动
- asp.net-mvc – 使用Data Annotation验证DateTime(日期和时
- 在ASP.NET Web服务(ASMX)的JSON请求中,什么时候区分大小写是
- asp.net-mvc – 无法加载文件或程序集Oracle.DataAccess
- asp.net – 如果表单字段为空,如何将NULL插入数据库
- 剃刀 – MVC布局VS MVC主页
- ASP.NET MVC ViewEngine ViewLocationCache.GetViewLocatio
- asp.net-mvc-3 – 局部视图中的RenderSection
- asp.net – MVC ViewModel错误 – 没有为此对象定义的无参数
