如何在plesk上运行web api程序

时间:2017-09-09 12:16:02

标签: windows api plesk windows-server

我写了一个Web API程序它在本地Windows服务器上运行,我在其他本地Windows服务器上测试它。但是当我在Plesk托管中上传它时,它不起作用,我收到了这个错误:

  

404 - 找不到文件或目录。

我在web.config中只设置了一个特定项目

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

我的示例API地址为Here

我应该设置特定设置吗?

1 个答案:

答案 0 :(得分:0)

我应该在ASP.NET Web API 2中启用跨源请求。 我在Here

中阅读了这个主题

我应该安装

  

安装包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...
        }
    }

在这些项目之后,你应该检查虚拟目录,你应该在rout文件夹或子域中上传。