コントローラーと同じ名前/ルートのルートレベルフォルダーを作成すると、IISがフォルダーに接続しようとしていて、WebAPI 2ルーティング。コントローラーと同じ名前のフォルダーを作成すると、404 - Web API 2が発生する
例:
ProjectA
|- Controllers/
|-- ExamplesController.cs
|- Examples/
ExamplesController
[RoutePrefix("examples")]
public class ExamplesController : ApiController
{
[HttpGet]
[Route("")]
public async Task<IHttpActionResult> Get()
{
// code
}
}
期待がコントローラを打つことで、しかし、IISは代わりにフォルダを試み、閲覧しているようです。
例:http://localhost:123/examples
未遂ソリューション:
は、私は他のすべてのハンドラを削除することができるかどうかを確認するためにIISハンドラの周りにプレーしようとしたが、それは
Webの助けにはなりませんでした.config
パーフェクト、これを試して、それが答えとしてマークしている場合は、記載されているように動作します – Oliver
これを試しましたか?どんな問題? –
これは期待通りに機能しましたが、私たちのAPIからの静的コンテンツは提供していないためです。あなたが提供する必要がある場合は、エクステンデッドルーティングと静的コンテンツの両方を持っている方が手間がかかります。 – Oliver