В моем приложении (*) мне иногда нужно открыть (в браузере пользователя по умолчанию) URL с некоторыми параметрами.
На некоторых компьютерах у меня была проблема с кешем, даже если я отправляю другие параметры, браузер открывает страницу со старыми параметрами.
Я попытался добавить метку времени в качестве первого параметра:
но, тем не менее, на некоторых компьютерах это не решило проблему.
Интересно, поможет ли использование дружественных URL-адресов избежать проблемы с кешем для всех пользователей, всех браузеров, всех настроек по умолчанию и т. Д.
[Мой источник для использования дружественных URL:
]
Известны ли вам какие-либо неудобства при использовании этого метода передачи параметров?
Спасибо
Атар.
(*) Мое приложение представляет собой исполняемый файл (VB .Net)
Одним из пунктов меню приложения является открытие URL-адреса с использованием браузера по умолчанию:
'-- Create temporary *.url file and open it
Try
Dim line1 As String = "[InternetShortcut]"
Dim line2 As String = "URL=" & sUrl
Dim dst As String = GetSystemPathTemp() & "myAppTemp.url"
Dim sw As New System.IO.StreamWriter(dst, False)
sw.WriteLine(line1)
sw.WriteLine(line2)
sw.Close()
System.Diagnostics.Process.Start(Chr(34) & dst & Chr(34))
URL-адрес - это форма, параметры - это некоторые поля формы, поэтому пользователю не нужно их вводить.
Обычно пользователь заполняет форму и перенаправляется на страницу «Спасибо».
Моя проблема: в следующий раз, когда пользователь щелкнет меню и откроет URL \ форму, в форме должны быть разные значения полей, в соответствии с текущим этапом приложения, НО на некоторых компьютерах \ пользователи \ браузеры первый URL кэшируется, и после этого все формы заполняются начальными полями, поэтому пользователь должен вручную редактировать их (если он заметил проблему), в противном случае я получаю результаты формы с неточной информацией - новые пользовательские заметки с Предыдущие неправильные значения полей.
Моя страница формы теперь начинается с -
<?php
header("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1
header("Expires: Sat, 26 Jul 1997 05:00:00 GMT"); // Date in the past
До сегодняшнего дня он начинался со всех следующих опций -
<?php
//disable all browser caching MUST BE FIRST LINES WITH NO PRECEEDING SPACES ETC
// Date in the past
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
// always modified
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
// HTTP/1.1
header("Cache-Control: no-store, no-cache, must-revalidate");
header("Cache-Control: post-check=0, pre-check=0", false);
// HTTP/1.0
header("Pragma: no-cache");
Файл "myAppTemp.url" обновлен, но браузер открывает более старую ссылку.