我刚刚开始使用ASP.NET Web API。
虽然我对模板和类似的东西没有任何反对意见,但我更愿意在信任为我生成的代码之前至少完全理解底层的内容。
我很难找到任何类型的指南,可以从头开始构建ASP.net WEB API,而不需要MCV Web API项目模板提供的任何脚手架。
所以我的问题是:Web API的哪些部分是用于启动和运行API的简单代码?
另外,如果有一个指南我没有找到有人可以指向我,那也将受到赞赏。
答案 0 :(得分:6)
这里有一点让你开始:
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略有不同,主要区别在于,不是像上面那样创建HttpSelfHostConfiguration对象,而是使用GlobalConfiguration.Configuration static配置API。