我写了一个Web API程序它在本地Windows服务器上运行,我在其他本地Windows服务器上测试它。但是当我在Plesk托管中上传它时,它不起作用,我收到了这个错误:
404 - 找不到文件或目录。
我在web.config中只设置了一个特定项目
<httpProtocol>
<customHeaders>
<add name="Access-Control-Allow-Origin" value="*" />
</customHeaders>
</httpProtocol>
我的示例API地址为Here。
我应该设置特定设置吗?
答案 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文件夹或子域中上传。