在C#中使用Web Api 2作为自我控制台主机

时间:2016-03-11 15:13:28

标签: c# asp.net asp.net-web-api2 self-hosting asp.net-core-1.0

我想构建一个Web Api 2 Web服务的自我主机。 我在我的控制台应用程序和Web Api 2项目中使用.Net Core 1.0 Framework。

由于包的名称更改而Owin已弃用,我无法在ASPnet的官方GitHub存储库中重建给定的示例:

https://github.com/aspnet/Hosting/blob/dev/samples/SampleStartups/StartupHelloWorld.cs (我试过这个)

我在project.json文件中查看了他们正在使用的软件包,但是因为我找不到AspNetCore.Hosting软件包,只能找到一个名为AspNet.Hosting的软件包,但是我没有使用这两个软件包。

{
  "version": "1.0.0-*",
  "dependencies": {
    "Microsoft.AspNetCore.Hosting": "1.0.0-*",
    "Microsoft.NETCore.Platforms": "1.0.1-*"
},

Resharper说:

  

严重级代码描述项目文件行抑制状态   错误CS0246找不到类型或命名空间名称'WebHostBuilder'(您是否缺少using指令或程序集引用?)WebApiConsoleHost.DNX 4.5.1,WebApiConsoleHost.DNX Core 5.0

为了完成,我在链接中使用了给定样本的整个主函数体:

public static void Main(string[] args)
{
    var host = new WebHostBuilder()
        .UseDefaultConfiguration(args)
        .UseStartup<StartupHelloWorld>()
        .Build();

    host.Run();
}

有人知道WebHostBuilder类的定义位置吗? Resharper建议它在AspNet.Hosting中,但添加使用后仍然没有找到它!

1 个答案:

答案 0 :(得分:2)

尝试阅读最新的docs。它对我有用。