2017-09-09 14 views
0

私はWeb APIプログラムを作成しました。これはローカルのWindowsサーバーで実行され、他のローカルWindowsサーバーでテストされました。しかし、私はホスティングのPleskでそれをアップロードするとき、それは動作しませんし、私はこのエラーを得た:pleskでウェブAPIプログラムを実行する方法

404 - File or directory not found.

私は

<httpProtocol> 
    <customHeaders> 
    <add name="Access-Control-Allow-Origin" value="*" /> 
    </customHeaders> 
</httpProtocol> 

web.configファイルに1つの特定の項目を設定し、私のサンプルAPIアドレスがHereです。

特定の設定を行う必要がありますか?

答えて

0

私はASP.NETのWeb APIにクロスオリジン・リクエストを有効にする必要があります。2. 私はそのファイルを開くApp_Start/WebApiConfig.cs後

Install-Package Microsoft.AspNet.WebApi.Cors

をインストールする必要がありますHere

でこのトピックを読みます。 WebApiConfig.Registerメソッドに次のコードを追加します。

using System.Web.Http; 
namespace WebService 
{ 
    public static class WebApiConfig 
    { 
     public static void Register(HttpConfiguration config) 
     { 
      // New code ((((((important this (config.EnableCors) item)))))) 
      config.EnableCors(); 

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

はその次後、TestControllerクラスに[EnableCors]属性を追加します。

using System.Net.Http; 
    using System.Web.Http; 
//((((((important this (using System.Web.Http.Cors) item)))))) 
    using System.Web.Http.Cors; 

    namespace WebService.Controllers 
    { 
//((((((important this (EnableCors) item)))))) 
     [EnableCors(origins: "http://mywebclient.azurewebsites.net", headers: "*", methods: "*")] 
     public class TestController : ApiController 
     { 
      // Controller methods not shown... 
     } 
    } 

この項目の後に、あなたは、仮想ディレクトリを確認する必要がありますし、あなたが敗走フォルダ内またはサブドメインにアップロードする必要があります。

関連する問題