Я создал два идентичных веб-проекта api, один в VS 2012 и еще один в VS 2013, оба предназначенные для рамки 4.5 .net. Проекты основаны на Filip W в видео скачать учебник здесь: http://www.strathweb.com/2013/01/asynchronously-streaming-video-with-asp-net-web-api/Что отличает PushStreamContent между web api & web api 2?
Копирование & вставки кода из учебника в проект VS 2012 (?, Используя веб-интерфейс API 1) не производит никаких ошибок (после того, как я добавляю собственно «, используя ' заявления).
Однако, когда я выполнить те же действия в проекте VS 2013, я получаю следующие две ошибки:
Ошибка 1
Вызов неоднозначен между следующими методами или свойствами: «PushStreamContent (System .Func<Stream,HttpContent,TransportContext,Task>
, MediaTypeHeaderValue) ' и 'PushStreamContent (System.Action<System.IO.Stream,HttpContent,TransportContext>
, MediaTypeHeaderValue)'Ошибка 2
' недействительным VI deo_stream.Controllers.VideoStream.WriteToStream (System.IO.Stream, System.Net.Http.HttpContent, System.Net.TransportContext)»имеет неправильный тип возвращаемого
Так что моя догадка ошибка 2 является реальной проблемой как этот код:
общественного асинхронной недействительным WriteToStream (поток OutputStream, HttpContent контента, TransportContext контекст) {...}
не идентифицирована как <action>
больше между Web API 1 & 2 ?? Я действительно запутался здесь, поскольку я нацелен на ту же структуру, и я не могу показаться интуитивным скачком о том, как ее исправить. Мои попытки изменить подпись WriteToStream не удались.
У кого-нибудь есть ключ к тому, что мне нужно, чтобы получить PushStreamContent, чтобы принять WriteToStream в веб-api 2 или VS 2013 или новом C# или где когда-либо разница в этом коде живет?
В конце концов я получил свое точное решение вчера поздно вечером, глядя на другой PushStreamContent примера я нашел. Это побудило меня «перейти к определению» в VS 12 и 13, что, я думаю, я должен был сделать с самого начала. В 12 есть 3 перегрузки для PSC, но в 13 есть 6 перегрузок. Если посмотреть внимательно, то, по-видимому, он передает внешний метод, теперь требуется дополнительный параметр (Задача), который раньше не нужен. Я могу подтвердить, что вышеуказанное решение действительно работает. – huxley
Я получаю: процесс не может получить доступ к файлу. Ошибка ввода-вывода из .net – DanielV