5

NancyFx を使用したセルフホスティングの Owin HttpListener アプリケーションがあります。

このプロジェクトに WebApi コントローラーを追加して、特定のルートがこの WebApi コントローラーによってのみ提供されるようにすることが可能かどうか疑問に思っています。

この作業の例を見るのは本当にいいでしょう。

4

1 に答える 1

16

Katana プロジェクトの OWIN と HttpListener を使用している場合にのみ可能です。map ミドルウェアを使用して、Nancy と WebApi を別々のパスでホストできます。

public class Startup
{
    public void Configuration(IAppBuilder app)
    {
        app.Map("/nancy", branch => branch.UseNancy())
           .Map("/webapi", branch => branch.UseWebApi());
    }
}

または、たとえば Nancy が 404 で応答している場合に、後続のミドルウェアにパススルーするように Nancy を構成できます。

public class Startup
{
    public void Configuration(IAppBuilder app)
    {
        app.UseNancy(opt => 
                     opt.PassThroughWhenStatusCodesAre(HttpStatusCode.NotFound)
           .UseWebApi();
    }
}
于 2013-09-15T20:41:23.903 に答える