none
web api2実行エラー(404) RRS feed

  • 質問

  • 開発環境:
      OS:Windows 7 Professional (32b)
      .Net Framworkバージョン:4.5.1

    運用環境:
      OS:Windows Server 2008 R2 Standard (64b)
      .Net Framworkバージョン:4.5.1

    実装:
     開発環境で:
       MS Visual Studio 2013でWeb Api 2を作成(get()で"Sucess"をreturnのみ)
     運用環境へ:
       VS2013の発行機能を利用して運用環境へ、
         リモートでtestを発行(仮想ディレクトリ:testが自動作成された)

    実施:
     開発環境:
         GET http://XXX.XXX.XXX.XXX/test/api/select
         GET http://LocalHost/test/api/select

     運用環境:
         GET http://XXX.XXX.XXX.XXX/test/api/select

    実施結果:
     開発環境:200(OK)
     運用環境:404(エラー)
         エラー詳細:
             404 - ファイルまたはディレクトリが見つかりません。
             検索中のリソースは削除された可能性があります。または、名前が変更されたか、一時的に使用不可能になっています

     質問:
       Web Api2の初心者ですが、運用環境でのエラーの解決方法を
       ご存じの方、何卒ご教授を願いたくよろしくお願いいたします


            
    2014年9月8日 2:27

回答

  • asp.net web api 404 をキーワードにググって調べただけですが、いくつか質問者さんと類似したケースが見つかりました。その中で一番近そうなのが下記の記事だと思うのですが、心当たりはありませんか?

    All requests to ASP.NET Web API return 404 error
    http://stackoverflow.com/questions/16812995/all-requests-to-asp-net-web-api-return-404-error

    要するに、ApiController を含む web アプリが別のアセンブリを参照していて、開発環境には「別のアセンブリ」は存在するが、運用環境には存在しない場合、運用環境に web アプリをデプロイして Web API を呼ぶと、404 エラーという結果になるそうです。

    Web API プロジェクトテンプレートを使ってアプリを作ると普通の MVC 用の Controller と View も自動生成されませんか? (VS2010 の MVC4 Web API テンプレートでは HomeController.cs, Index.cshtml が自動生成されます) であれば、それにアクセスした場合はどうでしょうか? 普通の MVC は OK で、Web API が 404 エラーということですとますますこれが怪しそうです。

    ただ、この問題は WebAPI v5.0 RC で修正されたそうです。なので、ハズレだったらすみません。


    • 編集済み SurferOnWww 2014年9月8日 5:44 一部訂正
    • 回答の候補に設定 星 睦美 2014年9月8日 8:12
    • 回答としてマーク 星 睦美 2014年9月10日 2:14
    2014年9月8日 5:42

すべての返信

  • asp.net web api 404 をキーワードにググって調べただけですが、いくつか質問者さんと類似したケースが見つかりました。その中で一番近そうなのが下記の記事だと思うのですが、心当たりはありませんか?

    All requests to ASP.NET Web API return 404 error
    http://stackoverflow.com/questions/16812995/all-requests-to-asp-net-web-api-return-404-error

    要するに、ApiController を含む web アプリが別のアセンブリを参照していて、開発環境には「別のアセンブリ」は存在するが、運用環境には存在しない場合、運用環境に web アプリをデプロイして Web API を呼ぶと、404 エラーという結果になるそうです。

    Web API プロジェクトテンプレートを使ってアプリを作ると普通の MVC 用の Controller と View も自動生成されませんか? (VS2010 の MVC4 Web API テンプレートでは HomeController.cs, Index.cshtml が自動生成されます) であれば、それにアクセスした場合はどうでしょうか? 普通の MVC は OK で、Web API が 404 エラーということですとますますこれが怪しそうです。

    ただ、この問題は WebAPI v5.0 RC で修正されたそうです。なので、ハズレだったらすみません。


    • 編集済み SurferOnWww 2014年9月8日 5:44 一部訂正
    • 回答の候補に設定 星 睦美 2014年9月8日 8:12
    • 回答としてマーク 星 睦美 2014年9月10日 2:14
    2014年9月8日 5:42
  • さっそくのご回答、ありがとうございました。
    Windows Server OSの更新で、「Service Pack 1」 を適用したところ動作するようになりました。


    2014年9月8日 8:09