可移植类库和WebRequest.ContentLength

sid*_*ews 8 .net c# webrequest httpwebrequest portable-class-library

我有一个可移植类库,其目标是".NET for Windows Store应用程序"和"Windows Phone 7.5或更高版本".我发出HTTP POST请求,截至上周,负责后端的管理员决定我需要发送一个0的ContentLength而不是.NET默认的-1.我使用WebRequest类,但我足够灵活,可以根据需要使用HttpWebRequest.

通常我会使用WebRequest.Create并设置ContentLength属性.在PCL库中,ContentLength属性不可用.如果我尝试添加一个带有"Content-Length"键的Header,框架会抱怨我应该使用ContentLength属性.

关于如何在PCL中设置ContentLength的任何想法?

Adr*_*tti 11

如果你不能设置ContentLength属性但它必须设置为0你可能会尝试调用GetRequestStream(或BeginGetRequestStram后跟EndGetRequestStream)而不向Stream自身写任何东西,这应该将ContentLength属性更新为其实际值(0,因为没有写入任何内容).