2015-04-03 4 views

ответ

0

Учитывая характер HTTP, на самом деле невозможно контролировать «активные» соединения, поскольку эта концепция на самом деле не существует в HTTP. Клиент отправляет запрос на ваш сервер, и он либо терпит неудачу, либо получает ответ.

Когда вы видите, что сайты сообщают о текущих активных пользователях, это число обычно является квалифицированным догадкой или, возможно, они контролируют клиентов с использованием веб-карт или какого-либо рода опросов ajax.

+2

Я нужен кол Принятая в настоящее время, но не возвращает результат запросы – ZOXEXIVO

+0

Возможно изменить формулировку Q «запросы», а не «соединения» – bacar

0

Вы можете создать свой собственный DelegatingHandler, зарегистрировать его в трубопроводе WebAPI и мониторинг текущих соединений с использованием переопределен метод SendAsync:

protected override async Task<HttpResponseMessage> SendAsync(HttpRequestMessage request, CancellationToken cancellationToken) 
{ 
    // TODO: add this request to some static container (like ConcurrentDictionary) 

    // let the request to be processed 
    HttpResponseMessage response; 
    try 
    { 
     response = await base.SendAsync(request, cancellationToken); 
    } 
    finally 
    { 
     // TODO: remove the request from the static container registered above 
    } 

    // return the response 
    return response; 
} 

Таким образом, вы можете не только контролировать текущее количество соединений, но и всю информацию запроса, как URL, IP и т.д.

0

Я кастом промежуточное программное обеспечение и решить мою проблему

+0

Согласен. Базовый вопрос был неправильным, и я меняю решение – ZOXEXIVO

Смежные вопросы