Ce qui est différent avec PushStreamContent entre l'api web & web api 2?

J'ai créé deux identiques web api projets, l'un en VS 2012 et une autre en VS 2013, à la fois vers le 4.5 .net framework. Les projets sont basés sur Filip W de téléchargement de vidéo tutoriel trouvé ici:
http://www.strathweb.com/2013/01/asynchronously-streaming-video-with-asp-net-web-api/

Copie & coller le code du tutoriel dans le VS 2012 projet (à l'aide de l'api web de 1?) ne produit pas d'erreurs (après j'ai ajouter le bon usage des déclarations).

Cependant, lorsque j'ai suivi les mêmes étapes que dans le VS 2013 projet-je obtenir les deux erreurs suivantes:

Erreur 1
L'appel est ambigu entre les méthodes suivantes ou des propriétés:
'PushStreamContent(Système D'.Func<Stream,HttpContent,TransportContext,Task>, MediaTypeHeaderValue)'
et
'PushStreamContent(Système D'.Action<System.IO.Stream,HttpContent,TransportContext>, MediaTypeHeaderValue)'

Erreur 2
"void video_stream.Les contrôleurs.VideoStream.Méthodes Writetostream(Système D'.IO.Flux, Système.Net.Http.HttpContent, Système.Net.TransportContext)' a le mauvais type de retour

Donc je suppose que l'erreur 2 est le réel problème de ce code:

public async void méthodes writetostream(Flux outputStream, HttpContent contenu, TransportContext contexte) {...}

N'est pas identifié comme un <action> plus entre l'api web de 1 & 2?? Je suis vraiment confus ici que je suis ciblant le même cadre, et je n'arrive pas à l'intuition sur la façon de le résoudre. Mes tentatives de changer les méthodes writetostream signature ont tous échoué.

Quelqu'un a une idée sur ce dont j'ai besoin pour obtenir PushStreamContent à accepter les méthodes writetostream web api 2 ou VS 2013 ou le C# ou à l'endroit où la différence de ce code de vie?

OriginalL'auteur huxley | 2013-11-17