Portable Klassenbibliotheken & WebRequest.ContentLength

8

Ich habe eine Portable Class Library, die auf ".NET für Windows Store-Apps" und "Windows Phone 7.5 oder höher" abzielt. Ich mache HTTP-POST-Anfragen und seit letzter Woche haben die Admins, die für das Back-End zuständig sind, entschieden, dass ich eine ContentLength von 0 senden muss, im Gegensatz zu -1, die standardmäßig von .NET ist. Ich benutze die WebRequest-Klasse, aber ich bin flexibel genug, um HttpWebRequest bei Bedarf zu verwenden.

Normalerweise würde ich einfach WebRequest.Create verwenden und die ContentLength-Eigenschaft festlegen. In der PCL-Bibliothek ist die ContentLength-Eigenschaft nicht verfügbar. Wenn ich versuche, einen Header mit einem Schlüssel von "Content-Length" hinzuzufügen, beschwert sich das Framework, dass ich nur die ContentLength-Eigenschaft verwenden sollte.

Irgendwelche Ideen, wie ich die ContentLength in einer PCL einstellen kann?

    
sidney.andrews 01.12.2012, 14:52
quelle

1 Antwort

11

Wenn Sie die Eigenschaft ContentLength nicht setzen können, aber auf 0 gesetzt werden, können Sie versuchen, GetRequestStream (oder BeginGetRequestStram gefolgt von EndGetRequestStream ) aufzurufen, ohne etwas in die Stream selbst zu schreiben. Dies sollte die Eigenschaft ContentLength auf ihren tatsächlichen Wert aktualisieren (0, weil nichts geschrieben wurde).

    
Adriano Repetti 03.12.2012, 22:05
quelle