2016-05-25 2 views
0

Ich weiß, dass dieser Beitrag wie ein Duplikat aussehen, aber ich habe jede Lösung Methode um das Internet versucht & StackOverflow und ich haben immer noch keine Idee, wie es zu beheben ist.Windows Azure Webrolle UseUnsafeHeaderParsing = „true“ funktioniert nicht immer „Der Server eine Protokollverletzung begangen hat. Section = ResponseStatusLine“

Ich versuche einfach zu tun bekommt in ein anderen Linux-PHP-System von Windows Azure Web-Rolle, und ich „Der Server verpflichten, eine Protokollverletzung. Abschnitt = ResponseStatusLine“

auf meinem lokalen Rechner funktioniert es . aber auf die Produktion innerhalb von Windows Azure ist es nicht :-(

ich hatte festgestellt, dass die geladene Baugruppe korrekt sind, ist die Framework-Version korrekt

Was hatte ich versucht zu tun.

Ich habe das Hinzufügen dieser versucht, meine web.config

<system.net> 
<settings> 
    <httpWebRequest useUnsafeHeaderParsing ="true"/> 
</settings> 

überhaupt nicht arbeiten.

Zugabe versucht, diese:

request.ServicePoint.Expect100Continue = false; 
request.KeepAlive = false; 
ServicePointManager.Expect100Continue = false; 
ServicePointManager.MaxServicePointIdleTime = 99999; 

überhaupt nicht arbeiten.

hatte ich versucht, http://restsharp.org/ zu verwenden, um die Anfrage
gar nicht zu tun funktionierten.

hatte ich versucht, https://www.nuget.org/packages/Microsoft.Net.Http/ zu verwenden, um die Anfrage
gar nicht zu tun funktionierten.

hatte ich versucht, HttpClient Class zu verwenden, um den Anruf

gar nicht zu tun funktionierten.

Diese Lösung Versuchte The server committed a protocol violation. Section=ResponseStatusLine in c# überhaupt nicht arbeiten.

Versucht, die Eigenschaft useUnsafeHeaderParsing über Reflection festzulegen. hat überhaupt nicht funktioniert.

So viele Dinge für mehr als 10 Stunden ohne Ergebnisse versucht .... Immer noch nicht funktioniert Bitte helfen.

Antwort

0

Alter Graben und Graben und versuchen Variante Lösung Ich hatte das Problem gefunden !!!

Das Problem war, dass es vor diesem Linux-PHP-Rechner eine Firewall gab, , die eine völlig falsche Antwort mit einer bizarren Text-HTML-Nachricht lieferte.

So war das Problem, dass die .NET eine falsche Response zurückgeben.

So Der Schritt, die funktioniert: Überprüfen Sie, ob der Remote-Host oder URL nicht auf der Firewall blockiert wird!

Verwandte Themen