.NET 4.0「Webアプリケーション」、別名「Webフォーム」があります。このアプリケーションの中には、「WebAPIコントローラークラス」と「Global.asax」があります。
Global.asax内で、「Application_Start」メソッドに次のコードがあります。
var config = GlobalConfiguration.Configuration;
config.Routes.MapHttpRoute(
name: "DefaultApi"
, routeTemplate: "api/{controller}/{id}"
, defaults: new { id = System.Web.Http.RouteParameter.Optional });
ローカルデバッグセッションを開始すると、ルートを問題なく使用できます。「/api/ ZipCodes」と入力すると、期待されるJSON応答が得られます。
プロジェクトをリモートIISサーバー(公開方法:ファイルシステム)に公開すると、ルートが機能しなくなります。404エラーが発生します。
IISがルートを認識して使用するために、IISで有効にする必要のある設定などがあると想定しています。
- IISバージョン7.0.6000.16386
.NETアプリケーションプールバージョン4.0
私のウェブサイトは「C:\ inetpub \ hosts」にあり、他の7つ以上のウェブサイトもすべて機能しています。ルーティングを使用するものはありません。
- 「HelloWorld」を含むDefault.aspxがあり、リモートIISサーバーとローカルデバッグセッションで正しくアクセスできます。
- ローカルマシンでデバッグする場合、「http:// localhost:6358 / api / ZipCodes」と入力して、JSON応答を取得できます。リモートマシン「http://remoteserver.com/api/ZipCodes」に同じURLを入力すると、404が表示されます。
誰か考えがありますか?