私は 2 つのプロジェクトで 1 つのソリューションを作成しました。 -host-a-web-api )、2 つ目は TopShelf で作成された Windows サービスです。このソリューションの目的は、Web API を使用してサービスのステータス レポートを作成することです。
すべて正常に動作しますが、ターゲット ソリューション内でソリューションを再作成すると、アプリケーション全体が正しく動作しません。Windows サービスは動作しているようですが、 localhost:8080/Test と入力すると、OK を表示すると想定されます (最初に説明した別のテスト ソリューションで表示されます)。エラーがスローされます (xml として表示されます)。
Message: No HTTP resource was found that matches the request URI 'http://localhost:8080/Test'.
MessageDetail: No type was found that matches the controller named 'Report'.
プロジェクトには、SelfHost を含む ReportController (ApiController から継承) がありますが、なぜか「表示」されています。私は推測して(愚かな推測だと思います)、それをWindowsサービスプロジェクトに移動しましたが、それも機能していません。
誰かが私が直面している問題を教えてもらえますか? 単純なソリューションにあるのに、コントローラーが表示されないのはなぜですか?
編集: 私のルーティングは次のようになります:
var config = new HttpSelfHostConfiguration(String.Format("http://localhost:{0}", port));
config.Routes.MapHttpRoute("API Default", "{action}", new { controller = defaultControllerName });
どこ
defaultControllerName = "Report";