Итак, у меня есть код, выполняющий проверку IP-адресов, чтобы у учетной записи ADMIN не было доступа из-за пределов моей сети.ASP.Net System.ArgumentOutOfRangeException
string strIP = Request.ServerVariables["REMOTE_ADDR"];
if (
(strIP.Substring(0, 9) != "XXX.XX.X.")
&& (strIP.Substring(0, 10) != "XXX.XX.XX.")
&& (strIP.Substring(0, 6) != "XX.XX.")
&& (strIP.Substring(0, 6) != "XX.XX.")
)
{
..// Check user for being an ADMIN // ....
}
Этот код работал нормально в течение нескольких недель, но неожиданно начал последовательно выходить из строя. Сообщение об ошибке:
Исключение
Исключение Тип: System. ArgumentOUtOfRangeException
Сообщение об исключении: указатель и длина должны относиться к местоположению внутри строки. Имя параметра: длина.
Когда я удаляю линию с помощью «Подстроки (0,10)», все работает. Кроме того, когда я меняю строку «Подстрока (0,10)» на «Подстрока (0,9)» и удаляю последнюю «.», Все работает.
Может ли кто-нибудь сказать мне, почему или, возможно, проинструктировать о том, что делается неправильно? Для жизни я не могу понять, что происходит.
Какова длина полосы? Если оно меньше 10, ожидается, что strIP.Substring (0, 10) будет исключаться. –