尝试在wp7中设置“如果-修改-自”标头:
request.Headers[HttpRequestHeader.IfModifiedSince] = dateString;给出错误:
必须使用适当的属性修改此标头。
这意味着应在请求类上使用属性.IsModifiedSince,如MSDN:http://msdn.microsoft.com/en-us/library/system.net.httpwebrequest.ifmodifiedsince.aspx中所述。
但是这个属性并不存在于Silverlight,即WP7中。
是否有人能够为Windows 7?上的http请求设置此标头
Shawn早在2010年9月就发布了这个问题,但没有解决方案:http://social.msdn.microsoft.com/Forums/en/windowsphone7series/thread/8aec7481-2cf3-4047-b0d4-05d4313a9e4c
谢谢!
发布于 2011-01-25 15:51:18
您只需使用HttpRequestHeader.IfModifiedSince表示的字符串:
request.Headers["If-Modified-Since"] = dateString; 我不得不使用许多其他的标头来完成这些操作,而WP7并不公开用于设置的帮助方法。
更新
根据http://msdn.microsoft.com/en-us/library/8y7x3zz2(v=VS.95).aspx上的注释,似乎不可能在WP7中设置此标头。
作为另一种选择,您可以创建自己的代理服务器来处理应用程序的缓存。
发布于 2012-09-26 09:32:30
这只能在HTTPWebRequest对象上设置,因此转换WebRequest应该允许您设置属性例如:
((HttpWebRequest)request).IfModifiedSince = modifiedDate;它接受一个DateTime对象,因此您可能需要先解析字符串。
发布于 2011-03-01 07:14:10
简单的回答是:这是不可能的,而不是支持的。
正如Matt所说,解决方案是创建一个代理类来处理这个问题。
那个代理会设置
request.AllowStreamReadBuffering = false;然后解析响应,直到标题结束或找到标头值为止。
注意!此解决方案限制下载到电话的数据,但不限制服务器处理请求所需的工作。
https://stackoverflow.com/questions/4795396
复制相似问题