2015-07-18 2 views
2

В методе концентратора SignalR Context.Headers содержит INameValueCollection с заголовками запроса. INameValueCollection имеет только три члена:Проверка дополнительного заголовка в концентраторе SignalR

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

К сожалению, ни один из них не документированы. Если вы хотите получить заголовок, но не выбрасываете исключение, если оно не существует, что вы используете? Я предполагаю, что Get, но было бы неплохо, если бы автор потрудился документировать эти детали.

Одна вещь, которая мне нравится в «старой» Microsoft, заключалась в том, что даже если немного многословная, ее документация охватывала почти всю семантику. SignalR был замечательным, быстрым развитием, но было бы еще лучше, если бы он сохранил это старание старой школы.

Возможно, мне что-то не хватает. Где-то документально зафиксирована семантика? Или кто-то знает и заботится о том, чтобы документировать их здесь как быстрое и грязное обходное решение?

ответ

2

Если бы та же проблема, и в конце концов я посмотрел его в the github source, которая принимает вас System.Collections.Specialized.NameValueCollection

(есть и другие реализации INameValueCollection, а также, но одна связана, кажется, используется в запросе)

Вкратце:

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

Строка, которая содержит разделенный запятыми список значений, связанных с указанным ключом, если найден; в противном случае - null.

IEnumerable<string> GetValues(string key); 

строковый массив, содержащий значения, связанные с указанным ключом из NameValueCollection, если найден; в противном случае - null.