2017-09-09 26 views
0

我编写了一个Web API程序它在本地windows服务器上运行,并在其他本地windows服务器上进行了测试。但是,当我上传的Plesk主机,它不工作,我得到这个错误:如何在plesk上运行web api程序

404 - File or directory not found.

我只设定一个具体的项目在web.config中

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

我的样本API地址为Here

我应该设置一个特定的设置吗?

回答

0

我应该在的ASP.NET Web API启用跨域请求2. 我读这个主题Here

我应该安装

Install-Package Microsoft.AspNet.WebApi.Cors

是打开文件后App_Start/WebApiConfig.cs 。将下面的代码添加到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 } 
      ); 
     } 
    } 
} 

,明年以后,[EnableCors]属性添加到的TestController类:此项目后

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... 
     } 
    } 

你应该检查虚拟目录,你应该在溃败文件夹或子域上传。

相关问题