HttpContent,HTTPResponseMessage无法解析 - 导入到ASP项目

时间:2014-01-22 01:24:38

标签: c# asp.net .net visual-studio-2013 httpresponse

我想按照该教程创建项目:http://www.strathweb.com/2013/01/asynchronously-streaming-video-with-asp-net-web-api/

我在Visual Studio 2013中创建了Web应用程序。复制了教程中的代码,我在弹出菜单中没有resolve->using的某些元素,例如:HttpContent,{{1 }}。我不知道我缺少哪些参考文献。为什么会出现问题?

enter image description here

修改

HTTPResponseMessage

1 个答案:

答案 0 :(得分:1)

尤达

您似乎有一个标准WebApplication。您复制和粘贴的代码适用于MVC Web API Applications

关闭解决方案并创建一个新项目,从项目菜单中选择New-> New Project,然后选择Visual C# -> Web -> ASP.NET MVC 4 Web Application,如下图所示。

enter image description here

当您选择ASP.NET MVC 4 Web Application时,您将可以选择项目类型。从列表中选择Web Api

现在为了使用async修饰符,您必须重新定位项目。右键单击Soltion Explorer中的项目名称,然后选择Properties。在属性表中选择Application标签,然后将Target Framework更改为.NET Framework 4.5,并将Yes保存到项目中。

enter image description here

完成后,只需添加新的VideoStream类并复制粘贴代码即可。您将拥有Resolve -> using...的上下文菜单。为了您的信息,您必须添加以下using语句。

using System.Net;
using System.Net.Http;

编辑:

基于编辑的附加答案。 剪辑中剪切的代码用于映射路由。将此代码添加到位于

的文件中

/App_Start/WebApiConfig.cs

已经有一个默认条目。你的最终结果看起来像..

public static class WebApiConfig
{
    public static void Register(HttpConfiguration config)
    {
        config.Routes.MapHttpRoute(
            name: "DefaultApi",
            routeTemplate: "api/{controller}/{id}",
            defaults: new { id = RouteParameter.Optional }
        );

        config.Routes.MapHttpRoute(
            name: "DefaultVideo",
            routeTemplate: "api/{controller}/{ext}/{filename}"
        );
        config.EnableSystemDiagnosticsTracing();
    }
}