本地主机上的asp.net 2应用程序,单独端口CORS问题
我有一个在一个端口上运行的Web API,在WebApiConfig中,我有:本地主机上的asp.net 2应用程序,单独端口CORS问题,asp.net,angularjs,asp.net-web-api,Asp.net,Angularjs,Asp.net Web Api,我有一个在一个端口上运行的Web API,在WebApiConfig中,我有: public static class WebApiConfig { public static void Register(HttpConfiguration config) { config.EnableCors(new EnableCorsAttribute("*", "*", "*")); // Enable CORS globally // Web API
public static class WebApiConfig
{
public static void Register(HttpConfiguration config)
{
config.EnableCors(new EnableCorsAttribute("*", "*", "*")); // Enable CORS globally
// Web API routes
config.MapHttpAttributeRoutes();
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);
// Web API configuration and services
var formatters = config.Formatters;
var jsonFormatter = formatters.JsonFormatter;
jsonFormatter.SupportedMediaTypes.Add(new MediaTypeHeaderValue("text/html")); // Allow xml only when text/html is specified
jsonFormatter.SerializerSettings.ContractResolver = new CamelCasePropertyNamesContractResolver(); // Make json return as camel case
jsonFormatter.SerializerSettings.ReferenceLoopHandling = Newtonsoft.Json.ReferenceLoopHandling.Ignore; // Ignore loops
jsonFormatter.SerializerSettings.PreserveReferencesHandling = Newtonsoft.Json.PreserveReferencesHandling.None; // Preserve
formatters.Remove(config.Formatters.XmlFormatter); // Remove xml formatting
}
}
正如你所看到的,我可以从任何人、任何地方启用CORS。
在我的OAuthAuthorizationServerProvider中,我也在GrantResourceOwnerCredentials方法中设置了以下内容:
var allowedOrigin = context.OwinContext.Get<string>("as:clientAllowedOrigin");
if (string.IsNullOrEmpty(allowedOrigin))
{
allowedOrigin = "*";
}
不太清楚它在做什么,但无论如何,这并没有解决问题。
有人知道是什么导致了这个问题以及如何解决它吗
// CORS stuff
$httpProvider.defaults.useXDomain = true;
delete $httpProvider.defaults.headers.common["X-Requested-With"];