Rre*_*Cat 5 c# httpwebrequest microsoft-metro windows-8 windows-runtime
我正在开发C#\ XAML metro-ui应用程序.我想打电话给一些服务并将其HttpWebRequest用于此.以前实现的HttpWebRequest包含ContentLength和UserAgent属性.但是WinRT的实现没有它.我试图使用这篇文章中描述的方法.它适用UserAgent但不适用ContentLength.我试着设定Headers
request.Headers["Content-length"] = Length;
request.Headers["User-agent"] = UserAgent;
Run Code Online (Sandbox Code Playgroud)
但收到异常"必须使用适当的属性或方法修改'Content-length'标头."
热门是否有可能在WinRT Headers中HttpWebRequest实现?
bov*_*ine 12
HttpWebRequest在WinRT下具有半弃用状态.以前可以在早期.NET平台上修改的某些标头值不能再用它修改.
它似乎HttpClient是HttpWebRequest的新的和改进的替代品,具有简单的API和完全异步支持.
由于您要指定Content-Length,我假设您正尝试向服务器POST或PUT.在这种情况下,您需要根据需要使用PostAsync()或PutAsync().
var req = new HttpClient();
req.DefaultRequestHeaders.Add("User-agent", UserAgent);
req.DefaultRequestHeaders.Add("Content-length", Length);
return await req.PostAsync(RequestURL, Body);
Run Code Online (Sandbox Code Playgroud)
您可能不需要指定Content-length标头,因为这些方法将根据Body的实际长度自动包含它,但您可以尝试使用它.
| 归档时间: |
|
| 查看次数: |
7813 次 |
| 最近记录: |