Если бы Вы хотите что-то быстрое и грязное, я предложил бы использовать Секундомер вместо этого для большей степени точности.
Stopwatch sw = new Stopwatch();
sw.Start();
// Do Work
sw.Stop();
Console.WriteLine("Elapsed time: {0}", sw.Elapsed.TotalMilliseconds);
, С другой стороны, при необходимости в чем-то немного более сложном необходимо, вероятно, рассмотреть использование стороннего профилировщика такой как МУРАВЬИ .
Чтобы не ждать дюжину секунд, когда что-то идет не так, вы можете установить еще пару параметров, например (см. curl_setopt
):
CURLOPT_CONNECTTIMEOUT
: количество секунд ожидания при попытке подключения. Используйте 0, чтобы ждать бесконечно.
CURLOPT_TIMEOUT
: максимальное количество секунд, в течение которого функции cURL могут выполняться.
CURLOPT_DNS_CACHE_TIMEOUT
: количество секунд, в течение которых записи DNS хранятся в памяти. По умолчанию для этого параметра установлено значение 120 (2 минуты).
Если пользователи вашего веб-сайта обычно остаются на нем более одной или двух страниц, может быть интересно сохранить эту информацию в $ _ SESSION
, и получать его только время от времени.
Например, вы можете получить его, только если значение, хранящееся в сеансе, было получено более 5 минут назад. Вероятно, это сэкономило бы пару вызовов : -)
Еще один способ сделать это на стороне клиента:
load
» даже изображения, чтобы заменить его некоторым текстом error
» даже изображения, чтобы заменить его некоторым текстом Это не очень хорошо (это вроде «хакерский», неправильный способ), но он должен работать; -)
Ваше изображение будет таким:
<div id="arround-1">
<img id="img-1" src="http://big.oscar.aol.com/imperialpalaces?on_url=http://www.ipalaces.org/support/widget/status_green.gif&off_url=http://this.is-a-404-error.com"
onload="replace_img_status(1, 1);"
onerror="replace_img_status(1, 0);"
/>
</div>
Вы видите, что, если пользователь подключен,
, наконец, приводит к существующему изображению; таким образом, будет запущено даже « load
».
И, если пользователь не подключен,
, наконец, приведет к изображению, которое не ' t exist (выдает ошибку 404) ; поэтому будет запущено событие « error
».
Теперь вы должны позаботиться об этих двух случаях, примерно так:
<script type="text/javascript">
var replace_img_status = function (num, status) {
var div = document.getElementById('arround-' + num);
if (div) {
if (status == 1) {
div.innerHTML = 'Online';
} else {
div.innerHTML = 'Offline';
}
}
};
</script>
Если status
равен ] 1
, мы отображаем "