Если кто-то использует @FormDataParam
с аннотацией @ApiOperation
swagger, он не будет работать (в соответствии с последней версией swagger в это время), как указано здесь:
Необходимо понять, что путь "состояние сеанса" прослежен с точки зрения веб-сервера, путем предоставления клиентскому браузеру cookie с идентификатором сессии в нем. Когда браузер отправляет назад на сервер, тот cookie позволяет серверу связывать запрос с сохраненным состоянием сеанса.
, Таким образом, решение состоит в том, чтобы очистить cookie от управления webBrowser. Например, webBrowser1. Документ. Cookie ="", который должен работать, я думаю.
ASP.NET также имеет то, что это называет "сессиями без cookie", которые работают путем добавления идентификатора сессии к URL. Таким образом, если это - механизм, используемый сервером, Вы могли бы попытаться отфильтровать это из URL. Но Вы не будете видеть так много, это - главным образом основанное на cookie состояние сеанса.
webBrowser1.Document.Cookies = "" не будет работать. Этот вызов не очистит куки. webBrowser1.Document.Cookies = просто работает как document.cookie в JavaScript. Вы должны найти файл cookie, который хотите очистить, например «Сессия», используйте webBrowser1.Document.Cookies = "Session = ''"; It will just set the cookie to '', as you want.
Если у вас включен javascript, вы можете просто использовать этот фрагмент кода, чтобы очистить файлы cookie для сайта, на котором в настоящее время работает веб-браузер (я еще не нашел способа очистить файлы cookie сеанса, другие чем это).
webBrowser.Navigate("javascript:void((function(){var a,b,c,e,f;f=0;a=document.cookie.split('; ');for(e=0;e<a.length&&a[e];e++){f++;for(b='.'+location.host;b;b=b.replace(/^(?:%5C.|[^%5C.]+)/,'')){for(c=location.pathname;c;c=c.replace(/.$/,'')){document.cookie=(a[e]+'; domain='+b+'; path='+c+'; expires='+new Date((new Date()).getTime()-1e11).toGMTString());}}}})())")
Это получено из этого букмарклета для очистки файлов cookie.
В дополнение к этому, вы можете удалить содержимое папки «C: \ Documents and Settings \ username \ Cookies» (за вычетом index.dat, который обычно заблокирован).
Что касается кэшированных данных, должно быть достаточно просто удалить все файлы в "C: \ Documents and Settings \ username \ Local Settings \ Temporary Internet Files" ".
Если вам действительно нужно иметь возможность очистить файлы cookie для всех сайтов, вам, вероятно, в долгосрочной перспективе лучше использовать что-то вроде элемента управления axWebBrowser.
Чтобы очистить сеанс (например, файлы cookie HttpOnly), вы можете использовать InternetSetOption () из wininet.dll.
private const int INTERNET_OPTION_END_BROWSER_SESSION = 42;
[DllImport("wininet.dll", SetLastError = true)]
private static extern bool InternetSetOption(IntPtr hInternet, int dwOption, IntPtr lpBuffer, int lpdwBufferLength);
и использовать этот метод всякий раз, когда необходимо очистить сеанс.
InternetSetOption(IntPtr.Zero, INTERNET_OPTION_END_BROWSER_SESSION, IntPtr.Zero, 0);
webBrowser1.Document.Window.Navigate(url);
Я перепробовал все, чтобы очистить данные формы, чтобы следующий пользователь не видел предыдущий адрес электронной почты и т.д. В итоге я сделал следующее, чтобы очистить куки...
string[] theCookies = System.IO.Directory.GetFiles(Environment.GetFolderPath(Environment.SpecialFolder.Cookies));
foreach (string currentFile in theCookies)
{
try
{
System.IO.File.Delete(currentFile);
}
catch (Exception ex)
{
}
}