我'嘗試使用的ASP.NET Web API Selfhosted應用與CORS,但得到一個錯誤:如何在ASP.NET Web API SelfHost應用程序中使用CORS?
XMLHttpRequest cannot load http://localhost:5555/api/product . Origin null is not allowed by Access-Control-Allow-Origin.
我如何處理呢?
我'嘗試使用的ASP.NET Web API Selfhosted應用與CORS,但得到一個錯誤:如何在ASP.NET Web API SelfHost應用程序中使用CORS?
XMLHttpRequest cannot load http://localhost:5555/api/product . Origin null is not allowed by Access-Control-Allow-Origin.
我如何處理呢?
添加類
public class CustomHeaderHandler : DelegatingHandler
{
protected override Task<HttpResponseMessage> SendAsync(HttpRequestMessage request, System.Threading.CancellationToken cancellationToken)
{
return base.SendAsync(request, cancellationToken)
.ContinueWith((task) =>
{
HttpResponseMessage response = task.Result;
response.Headers.Add("Access-Control-Allow-Origin", "*");
return response;
});
}
}
和配置
var config = new HttpSelfHostConfiguration("http://localhost:5555");
config.MessageHandlers.Add(new CustomHeaderHandler());
WebAPIContrib項目有一個簡單的Cors MessageHandler。或者如果您正在尋找更復雜的解決方案,Thinktecture.IdentityModel項目具有CORS支持。
註冊它你救了我的命! –
@SeyedMortezaMousavi現在CORS支持也是在Web API中烘焙的。 –
他正在使用http:// localhost:5555並且您已經使用了端口8080? –
修正了這個錯誤 – Nerve
這是非常好的:) –