【发布时间】:2013-09-19 21:32:45
【问题描述】:
我有一个使用 NancyFx 的自托管 Owin HttpListener 应用程序。
我想知道是否可以向这个项目添加一个 WebApi 控制器,并确保某个路由仅由这个 WebApi 控制器提供服务。
很高兴看到这样的例子。
【问题讨论】:
标签: asp.net-web-api nancy httplistener owin
我有一个使用 NancyFx 的自托管 Owin HttpListener 应用程序。
我想知道是否可以向这个项目添加一个 WebApi 控制器,并确保某个路由仅由这个 WebApi 控制器提供服务。
很高兴看到这样的例子。
【问题讨论】:
标签: asp.net-web-api nancy httplistener owin
只有在您使用来自 Katana 项目的 OWIN 和 HttpListener 时才有可能。您可以使用 map middleware 在不同的路径上托管 Nancy 和 WebApi:
public 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();
}
}
【讨论】: