我有一个使用 NancyFx 的自托管 Owin HttpListener 应用程序。
我想知道是否可以向这个项目添加一个 WebApi 控制器并确保某个路由仅由这个 WebApi 控制器提供服务。
很高兴看到这个工作的一个例子。
我有一个使用 NancyFx 的自托管 Owin HttpListener 应用程序。
我想知道是否可以向这个项目添加一个 WebApi 控制器并确保某个路由仅由这个 WebApi 控制器提供服务。
很高兴看到这个工作的一个例子。
仅当您使用 Katana 项目中的 OWIN 和 HttpListener 时才有可能。您可以使用地图中间件将 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();
}
}