Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/30.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
本地主机上的asp.net 2应用程序,单独端口CORS问题_Asp.net_Angularjs_Asp.net Web Api - Fatal编程技术网

本地主机上的asp.net 2应用程序,单独端口CORS问题

本地主机上的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

我有一个在一个端口上运行的Web API,在WebApiConfig中,我有:

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"];