c# – 如何从HttpResponseMessage获取特定的头值
发布时间:2020-12-15 06:25:45 所属栏目:百科 来源:网络整理
导读:我想在这个话题中开始一点点上下文.我正在做一些测试,以建立一个从本地WP8应用程序到BaasBox服务器的连接.在这一点上,我已经实现了这一点. 作为登录响应,BaasBox在HttpResponseMessage对象的头部分中返回一个会话代码(X-BB-SESSION).这里是尝试从HttpRespons
我想在这个话题中开始一点点上下文.我正在做一些测试,以建立一个从本地WP8应用程序到BaasBox服务器的连接.在这一点上,我已经实现了这一点.
作为登录响应,BaasBox在HttpResponseMessage对象的头部分中返回一个会话代码(X-BB-SESSION).这里是尝试从HttpResponseMessage对象获取特定头文件时遇到麻烦的地方. 我正在使用foreach语句来遍历所有标题(MSDN link).但是编译器却不能说这是不行的: foreach语句不能对System.net.http.headers.cachecontrolheadervalue类型的变量进行操作,因为“System.net.http.headers.cachecontrolheadervalue”不包含“GetEnumerator”的公共定义 这是我尝试的代码: //Connection code to BaasBox HttpResponseMessage response = await client.SendAsync(requestMessage,HttpCompletionOption.ResponseHeadersRead); if (response.IsSuccessStatusCode) { //get the headers HttpResponseHeaders responseHeadersCollection = response.Headers; foreach (var value in responseHeadersCollection.CacheControl) --> HERE { string sTemp = String.Format("CacheControl {0}={1}",value.Name,value.Value); } else { Console.WriteLine("X-BB-SESSION: NOT Found"); } 从我尝试获取值(X-BB-SESSION值)的标题contet是这样的: 访问控制允许原产地:* 有谁知道如何读标题?任何帮助将是非常欣赏 问候! 解决方法
您应该可以使用
TryGetValues 方法.
HttpHeaders headers = response.Headers; IEnumerable<string> values; if (headers.TryGetValues("X-BB-SESSION",out values)) { string session = values.First(); } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |