Funcion util para evitar que un usuario ejecute una accion repetidas veces, como; inserciones,actualizaciones o busquedas que apañen el desempeño del sistema.
ejemplo de uso
Ejemplo que obliga esperar 30 segundos entre ejecucion de busquedas.
Código:
ultima_busqueda = session("ultima_busqueda")
hora_actual = now
if permite_accion(ultima_busqueda,hora_actual,"s",30) = true then
session("ultima_busqueda") = now
response.write "puede ejecutar la busqueda"
else
response.write "NO puede ejecutar la busqueda"
end if
Codigo
Código:
function permite_accion(fecha_ultima_accion,fecha_intento_accion,Hora_Minuto_o_Segundo,cantidad_de_espera)
if isdate(fecha_ultima_accion) = false or isdate(fecha_intento_accion)= false then
permite_accion = true
end if
Select Case lcase(Hora_Minuto_o_Segundo)
Case "hora" Hora_Minuto_o_Segundo = "h"
Case "minuto" Hora_Minuto_o_Segundo = "n"
Case "segundo" Hora_Minuto_o_Segundo = "s"
Case "h" Hora_Minuto_o_Segundo = "h"
Case "m" Hora_Minuto_o_Segundo = "n"
Case "s" Hora_Minuto_o_Segundo = "s"
Case Else Hora_Minuto_o_Segundo = "n"
End Select
if isnumeric(cantidad_de_espera) = false or isnull(cantidad_de_espera) = true or cantidad_de_espera="" then
permite_accion = true
end if
intervalo = datediff(hora_minuto_o_segundo,fecha_ultima_accion,fecha_intento_accion)
if intervalo < cantidad_de_espera then
permite_accion = false
else
permite_accion = true
end if
end function