Detectar actualización del navegador

¿Cómo puedo saber si el usuario presionó F5 para actualizar mi página? (Algo así como la implementación de SO. Si actualiza su página, el contador de preguntas no aumenta). He probado muchos fragmentos de código mencionados en una docena de tutoriales, pero ninguno funcionó correctamente.

ara ser más claro, suponga que tengo un formulario web vacío y me gustaría detectar si el usuario ha presionado F5 en el lado del cliente (lo que provoca que no se envíe una actualización) o n

Puedo usar variables de sesión, pero si el usuario navega a otra página de mi sitio y luego regresa, me gustaría considerarlo como una nueva visita, no como una actualización. entonces esta no es una variable de alcance de sesión.

Gracias

Actualizar La única solución que pude encontrar fue heredar mis páginas de una página base, anular el método de carga como se muestra a continuación:

    public class PageBase : System.Web.UI.Page
{
    protected override void OnLoad(EventArgs e)
    {
        base.OnLoad(e);
        this.Session["LastViewedPage"] = Request.RawUrl;
    }
}  

y en cada página si estaba interesado en saber si se trata de una actualización:

if (this.Session["LastViewedPage"].ToString() == Request.RawUrl)
{
    // This is a refresh!
}

Respuestas a la pregunta(2)

Su respuesta a la pregunta