在基于本文使用Owin将我的Windows服务应用程序设置为自托管:
http://www.asp.net/web-api/overview/hosting-aspnet-web-api/use-owin-to-self-host-web-api
我使用了WebApp.Start方法的这个重载:
这是我的代码:
//(in startup method)
_server = WebApp.Start<Startup>(BaseAddress);
public class Startup
{
// This code configures Web API. The Startup class is specified as a type
// parameter in the WebApp.Start method.
public void Configuration(IAppBuilder appBuilder)
{
// Configure Web API for self-host.
var config = new HttpConfiguration();
config.Routes.MapHttpRoute("DefaultApi", "api/{controller}/{id}", new
{
id = RouteParameter.Optional
});
appBuilder.UseWebApi(config);
}
}
Run Code Online (Sandbox Code Playgroud)
它工作正常,所以没有抱怨.
但是Start方法的类型参数的要求究竟是什么?它似乎没有任何约束,我无法找到有关此参数的选项/要求的任何文档.它是否寻找将IAppBuilder作为参数的方法?如果我将Configuration()方法的名称更改为其他内容怎么办?如果我将方法设为内部怎么办?我可以使用此类配置其他选项吗?
所有这些记录在哪里?我觉得没有上面链接的文章,我从来没有能够弄清楚要实现什么.