2

我刚刚开始使用 ASP.NET Web API。

虽然我没有反对模板之类的东西,但我更愿意至少在信任为我生成的代码之前准确了解幕后发生的事情。

我很难找到任何可以从头开始构建 ASP.net WEB API 的指南,而没有 MCV Web API 项目模板提供的任何脚手架。

所以我的问题是:Web API 的哪些部分是启动和运行 API 的基本代码?

另外,如果有一个指南我找不到有人可以指向我,那也将不胜感激。

4

1 回答 1

6

这里有一点可以帮助您入门:

  1. 创建一个新的控制台应用程序
  2. 安装“Microsoft ASP.NET Web API Self Host”NuGet 包
  3. 将此代码添加到您的 Main 方法中:
public static void Main()
{
    string baseAddress = "http://localhost:12345/";
    HttpSelfHostConfiguration config = new HttpSelfHostConfiguration(baseAddress);
    config.Routes.MapHttpRoute("Default", "api/{controller}");

    HttpSelfHostServer server = new HttpSelfHostServer(config);
    server.OpenAsync().Wait();

    Console.ReadKey();

    server.CloseAsync().Wait();
}

4. 创建一个新的控制器类:

public class HelloWorldController : ApiController
{
    public string Get()
    {
        return "Hello World";
    }
}

5. 运行您的应用程序并将您最喜欢的 HTTP 客户端指向http://localhost:12345/api/helloworld. 我建议使用 Fiddler 的作曲家,但浏览器也应该可以工作。

注意:这仅适用于 VS,如果您以管理员权限启动它。如果您没有以管理员权限运行,则可能需要添加以下行:

config.HostNameComparisonMode = HostNameComparisonMode.Exact;

这说明了如何在应用程序中自己启动 HTTP 服务器。Web 托管 Web API 略有不同,主要区别在于您将使用 GlobalConfiguration.Configuration 静态配置 API,而不是像上面那样创建 HttpSelfHostConfiguration 对象。

于 2013-04-25T01:43:22.537 回答