HttpClient.PostAsJsonAsync ne voit jamais quand le post est de réussir et de répondre

Nous sommes à l'aide d'un HttpClient pour poster json à un service web restful. Dans un cas, nous sommes en cours d'exécution dans quelque chose qui nous a épaté. En utilisant des outils comme le facteur, le violoneux, etc, nous pouvons placer à un point de terminaison et de voir qu'il est de travail. Lorsque nous faisons la même chose avec HttpClient.PostAsJsonAsync, nous pouvons vérifier dans le logiciel que nous envoyez des messages qu'il a reçu les données de l'amende juste. Cependant, notre PostAsJsonAsync pourrez perdre du temps plutôt que de nous donner une réponse.

Nous avons travaillé avec l'équipe qui a créé le service que nous consomment, en plus de nos autres tests de notre côté, et nous n'avons pas encore été en mesure de vraiment temps que service.

Chaque fois que nous faire un post avec HttpClient, on peut alors vérifier que le logiciel cible nous post n'a en effet d'obtenir les données. De tout temps nous faire un post pour que le logiciel cible de tout autre outil, nous avons toujours très rapidement une réponse avec le code d'état 200. Quelque chose à propos de HttpClient est de ne pas accepter la réponse de ce service particulier. Quelqu'un aurait-il une idée de ce que nous pouvons observer à partir d'ici?

Voici le code (mais il est tellement à l'emporte-pièce que je ne l'estimez nécessaire)

public string PostData(string resourcePath, Object o, Boolean isCompleteUrl = false, int timeoutMinutes = -1)
    {
        using (var client = new HttpClient())
        {
            if (timeoutMinutes > 0)
            {
                client.Timeout = new TimeSpan(0,timeoutMinutes,0);
            }
            var useUrl = isCompleteUrl ? resourcePath : ApiBase + resourcePath;
            var response = client.PostAsJsonAsync(useUrl, o).Result;
            if(response.StatusCode == System.Net.HttpStatusCode.OK)
            {
                return response.Content.ReadAsStringAsync().Result;
            }
            return "";
        }

    }
En fait je suis exactement le même problème lors de l'utilisation de WebClient. Les données publiées sont reflétées dans le système cible, nous les poster, mais notre demande se bloque. Je commence à penser que c'est quelque chose à voir avec une auto-signé cert. Nous vous connectez à une instance de test de ce service sur https, et que le certificat n'est probablement pas une signature valide. Jusqu'à présent cependant, je n'arrive pas à comprendre comment vérifier si cela est ou n'est pas réellement le problème.

OriginalL'auteur Danny | 2015-06-04