5

IISで新しいASP.NET 5 WebAPIプロジェクトをホストしようとしていますが、ASP.NET 5 RC 1ランタイムを使用しています。私が使用しているプロジェクトは、新しいASP.NET 5 WebAPIプロジェクトの標準生成テンプレートです。仮想ディレクトリ/アプリケーションを使用してIISでASP.NET 5 WebAPIをホストする

コマンドラインを使用してプロジェクトを正常に公開しました。特定のポート(localhost:12345など)を使用して新しいWebサイトで動作するようにアプリケーションを設定できます。たとえば、localhost:12345/api/valuesにアクセスすると、プロジェクトテンプレートからvalues.jsonデータが返されます。

ただし、プロジェクトのIISアプリケーションフォルダを使用しようとすると、404エラーが発生します。つまり、localhost:12345/WebApi1/api/valuesは404エラーを返します。しかし、私はイベントビューアのランダムなポートでKestrelが動作しているのを見ることができます。もし私がそのポートのデータにアクセスするなら、私はvalues.jsonを取得します。

Webサイトの下のIISアプリケーションフォルダでASP.NET 5 WebAPIプロジェクトを実行するには、特別な処理が必要ですか?

サイドノート:--server.urlsを使用してKestrelのポートを設定すると、要求されたポートとイベントビューアに記録されているランダムポートの両方で動作しています。 (実際には、2つのURLからKestrelから入手できます.-server.urlsで設定されたものではありません。)

+2

これを確認してください:http://stackoverflow.com/a/33900458/1184056 –

+0

ありがとうございます。これは実際にIISアプリケーションの問題を修正し、現在は機能しています。 – Jeff

答えて

3

上記のKiran Challaのリンクは本当に問題を解決します。 IISApplicationFolderNameは、あなたが下にホストしたいIISアプリケーションフォルダの名前ですStartup.cs

app.Map("/IISApplicationFolderName", (myAppPath) => this.ConfigureApp(myAppPath, env, loggerFactory)); 

であなたの設定方法でこれを入れてください。残りのコンフィグレーションコードは、そのメソッドにコンフィグレーションを委任しているので、新しいメソッドConfigureAppに移動します。

これは、ASP.NET 5 RC2がリリースされるまで、一時的なパッチに見えます。

関連する問題