2012-07-23 2 views
0

J'ai un WebAPIHttpClient Message de réponse Taille

public ISearchProviderCommandResult ExecuteCommand(ISearchProviderCommand searchCommand) 
{ 
    //serialize the object before sending it in 
    JavaScriptSerializer serializer = new JavaScriptSerializer(); 
    string jsonInput = serializer.Serialize(searchCommand); 

    HttpClient httpClient = new HttpClient() { BaseAddress = new Uri(ServiceUrl), MaxResponseContentBufferSize = 256000 }; 

    StringContent content = new StringContent(jsonInput, Encoding.UTF8, "application/json"); 

    HttpResponseMessage output = httpClient.PostAsync(ServiceUrl, content).Result; 

    //deserialize the output of the webapi call 
    SearchProviderCommandResult searchResult = serializer.Deserialize<SearchProviderCommandResult>(output.Content.ReadAsStringAsync().Result); 

    return searchResult; 
} 

sur ma machine locale si je mets le MaxResponseContentBufferSize ou non, il semble récupérer des données comme je le veux. Cependant sur notre environnement de construction, si je ne régler la MaxResponseContentBufferSize, je reçois cette erreur: Impossible d'écrire plus d'octets dans la mémoire tampon de la taille de la mémoire tampon maximale configurée: 65536.

Après avoir regardé sur Google, j'ai décidé de la MaxResponseContentBufferSize à une valeur 256000 arbitraire. Même si cela fonctionne sur ma machine locale, sur la zone de construction j'obtenir cette erreur: Méthode non trouvée: « Void System.Net.Http.HttpClient.set_MaxResponseContentBufferSize (Int64)

Je ne sais pas quoi faire maintenant.

+0

A quoi sert ce code? Pour une application ASP.NET ou autre? – tugberk

+0

oui, son code api web asp.net. Nous l'avons résolu en fonction de mes commentaires dans le post d'Anand. –

Répondre

0

Regardez ce fil sur forums.asp.net. Il semble qu'il y ait un problème avec la version bêta de .net 4.5 sur votre environnement de construction. Il y a sûrement une discordance de dlls sur votre environnement local et votre build

+0

Cest exactement ce que nous avons fait en fonction de ce message sur le forum: http://connect.microsoft.com/VisualStudio/feedback/details/743315/system-missingmethodexception-when-using-httpclient-maxresponsecontentbuffersize - Cependant, merci pour votre poste aussi. –