在我的WebApi应用程序中,当多个标题具有相同名称时,无论如何都要获取原始数据?
当传入多个具有相同名称的Http标头时,它们会以','作为分隔符连接。 HttpHeaders
下的System.Net.Http.Headers
类似乎是罪魁祸首。
我的一些标题包含逗号,因此使用逗号作为分隔符并不理想。
我想要将分隔符更改为一些不常见的(我选择的)或者能够在它们加入之前访问这些值。
有什么想法吗?
提前致谢。
答案 0 :(得分:1)
仔细检查规范,看起来逗号是一个保留字符,用于在同一字段名称下指定多个标题字段值:http://www.w3.org/Protocols/rfc2616/rfc2616-sec4.html#sec4.2
具有相同字段名称的多个消息头字段可以是 当且仅当整个字段值出现在消息中时出现 标题字段被定义为以逗号分隔的列表[即,#(值)]。 必须可以将多个标题字段合并为一个 " field-name:field-value"对,不改变语义 消息,通过将每个后续字段值附加到第一个,每个 用逗号分隔。头字段具有相同的顺序 因此,接收字段名称对于解释是重要的 组合字段值,因此代理不得改变 转发邮件时这些字段值的顺序。“