Erreur d'envoi de bonne valeurs d'en-tête à un contrôle en amont de la demande de angulaire $http pour asp.net webapi

Je suis en train d'envoyer des données d'authentification à un backend web de l'api à l'aide angulaire de $http. Quand j'ai ajouter la ligne ci-dessous, le navigateur commence à envoyer de contrôle en amont des demandes de

$http.defaults.headers.common.Authorization = 'Basic xxxxyyyyyy' ;

De l'api web côté, Quand je reçois une demande avec les OPTIONS de la méthode, j'ai procédé comme suit.

if (request.Method == HttpMethod.Options && request.Headers.Any(k => k.Key.Contains("Origin")))
            {
                var response = new HttpResponseMessage(HttpStatusCode.OK);
                response.Headers.Add("Access-Control-Allow-Headers", "Content-Type,X-CSRF-Token, X-Requested-With, Accept, Accept-Version, Content-Length, Content-MD5,  Date, X-Api-Version, X-File-Name");
                response.Headers.Add("Access-Control-Allow-Origin", request.Headers.GetValues("Origin"));
                response.Headers.Add("Access-Control-Allow-Credentials", "true");
                response.Headers.Add("Access-Control-Allow-Methods", "POST, GET, PUT, DELETE, OPTIONS");
                var tsc = new TaskCompletionSource<HttpResponseMessage>();
                tsc.SetResult(response);
                return tsc.Task;  
            }

Mais le contrôle en amont de la demande d'échec de contrôle d'accès.

XMLHttpRequest ne peut pas charger http://localhost:53024/api.............
Réponse à la demande de contrôle en amont ne passent pas de contrôle d'accès: L'
"Access-Control-Allow-Origin' en-tête contient plusieurs valeurs
'http://localhost:9000, *', mais un seul est autorisé. Origine
'http://localhost:9000' est donc pas autorisé à accéder.

Ce que je fais mal?

InformationsquelleAutor yohannes | 2015-10-19