检查SignalR集线器中的可选标头

时间:2015-07-18 16:02:55

标签: http-headers signalr signalr-hub

在SignalR中心方法中,Context.HeadersINameValueCollection提供了请求标头。 INameValueCollection只有三名成员:

    string this[string key] { get; }
    string Get(string key);
    IEnumerable<string> GetValues(string key);

不幸的是,它们都没有记录在案。如果你想得到一个标题,但如果它不存在则不抛出异常,你用什么?我猜Get,但如果作者不愿意记录这些细节,那肯定会很好。

我喜欢&#34; old&#34;微软即使有点冗长,其文档几乎涵盖了所有语义。 SignalR是一个非常好的,快速的发展,但如果它保留了老派的勤奋,那就更好了。

也许我错过了什么。是否在某处记录了语义?或者有人知道并关心在这里记录它们作为一种快速而肮脏的解决方法吗?

1 个答案:

答案 0 :(得分:2)

遇到同样的问题,最后我在the github source查找了System.Collections.Specialized.NameValueCollection

(还有INameValueCollection的其他实现,但链接似乎在请求中使用了)

简而言之:

string this[string key] { get; }
string Get(string key);
  

一个字符串,包含与指定键关联的逗号分隔值列表(如果找到);否则,null。

IEnumerable<string> GetValues(string key);
  

一个String数组,包含与NameValueCollection中指定键关联的值(如果找到);否则,null。