2

API をセットアップしてテストしようとしています (ただし、ASP.NET MVC と IIS に関する知識は限られています)。http://www.asp.net/web-api/overview/creating-web-apis (サンプル: Contact Manager)で提供されているサンプル コードを使用しています。

提供されたすべてのファイルを ContactManager フォルダー (App_Data、Content など) からアップロードし、IP 142.70.43.211 とファイルを含むローカル ディレクトリを指すホーム ディレクトリを使用して、IIS に新しい Web サイトをセットアップしました。

Default.htm ファイルは正常にロードされますが、Jquery ajax 呼び出しは「リソースのロードに失敗しました: サーバーは 404 のステータスで応答しました (見つかりません)」というエラーを返します。

最初は、jquery get() 呼び出しが完全な URL ではなく「連絡先」だけを要求しているという事実だと思っていましたが、Chrome のコンソールは、「142.70.43.211/contacts」を読み込もうとして失敗していることを示しています...

編集:提供された「パッケージ」フォルダーをアップロードするのを忘れました...これを行った後、コンソールにエラーが表示されます:「GET 142.70.43.211/contacts 404 (Not Found)」...それほど違いはありません...

何かを設定する手順を見逃していませんか?

4

2 に答える 2

1

WebApiConfig.csファイルには、次のように定義されたルートが表示されます

config.Routes.MapHttpRoute( 
    name: "DefaultApi", 
    routeTemplate: "api/{controller}/{id}", 
    defaults: new { id = RouteParameter.Optional } 
); 

これは、/142.70.43.211 / api /contacts を期待していることを意味します。Views\Home\Index.html に「contacts」だけでなく、パス「api/contacts」への参照があるかどうかを確認します

于 2012-08-11T14:58:49.810 に答える
0

サイトのIISマネージャー->[基本設定]に移動し、アプリケーションプールを「ASP.NETv4.0」に変更するまで、404エラーが発生していました。

于 2012-10-11T04:14:37.993 に答える