我有一个使用NancyFx的自托管Owin HttpListener应用程序。
我想知道是否可以在此项目中添加WebApi控制器,并确保仅由此WebApi控制器提供某个路由。
看到这个工作的一个例子真的很高兴。
答案 0 :(得分:16)
只有你使用Katana项目中的OWIN和HttpListener才有可能。您可以使用map middleware
在不同的路径上托管Nancy和WebApipublic class Startup
{
public void Configuration(IAppBuilder app)
{
app.Map("/nancy", branch => branch.UseNancy())
.Map("/webapi", branch => branch.UseWebApi());
}
}
或者您可以将Nancy配置为传递到后续中间件,例如,如果Nancy正在响应404:
public class Startup
{
public void Configuration(IAppBuilder app)
{
app.UseNancy(opt =>
opt.PassThroughWhenStatusCodesAre(HttpStatusCode.NotFound)
.UseWebApi();
}
}