Pergunta

O código abaixo funcionará se o relógio do servidor estiver adiantado em relação ao relógio do cliente?

Response.Cache.SetExpires(DateTime.Now.AddSeconds(-1))

EDITAR:o motivo pelo qual pergunto é que em um de nossos aplicativos da web alguns usuários afirmam que estão vendo as páginas (números de conta, etc.) de um usuário que usou essa máquina anteriormente.No entanto, usamos a linha acima e outras para “evitar” que isso aconteça.

Foi útil?

Solução

Essa questão abrange garantir que uma página da Web não esteja armazenada em cache.Parece que você precisa definir várias propriedades para garantir que uma página da Web não seja armazenada em cache em todos os navegadores.

Outras dicas

Seu problema pode ser causado pelo navegador que lembra os dados inseridos nos campos do formulário.Você pode desligar isso assim:

<input autocomplete="off">

Pelo que sei, o navegador verificará a data de validade em relação ao relógio local (embora leve em consideração o fuso horário); portanto, o código da sua pergunta pode não funcionar como esperado se o relógio do cliente estiver impreciso.Mais comumente, isso acontece quando o horário parece certo, mas está definido para o fuso horário errado, o que significa que os carimbos de data e hora UTC estão atrasados ​​em várias horas.

Você poderia tentar definir um carimbo de data/hora muito mais antigo, digamos:0000, 1º de janeiro de 1970 GMT (época)

Acho que o código que você tem deve funcionar com o cache do servidor, mas você pode desativá-lo mais explicitamente com:

Response.Cache.SetNoServerCaching();
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top