То, почему случается так, что мой cookie не добирается, удалило/сбросило?

Вы можете создать свой тест следующим образом:

  • Sampler 1

    • JSR223 PostProcessor со следующим кодом:

      if (!prev.isSuccessful()) {
          vars.putObject('sampler1Result', prev)
      }
      
  • Если контроллер со следующим условием: ${JMeterThread.last_sample_ok}
    • Sampler 2
    [1113 ]
  • Sampler 3

    • JSR223 PostProcessor со следующим кодом:

      if (vars.getObject('sampler1Result') != null) {
          def sampler1Result = vars.getObject('sampler1Result')
          prev.setSuccessful(sampler1Result.isSuccessful())
           prev.setResponseCode(sampler1Result.getResponseCode())
           prev.setResponseMessage(sampler1Result.getResponseMessage())
           prev.setResponseData(sampler1Result.getResponseData())
      }
      

где :

enter image description here

6
задан Anders 12 March 2009 в 13:40
поделиться

2 ответа

Работа с cookie в ASP.NET может быть немного неинтуитивной. Для уничтожения cookie, который уже живет на клиентском необходимо установить его дату истечения срока на когда-то в прошлом и снова послать клиент новый cookie. Клиентский браузер обновит существующий cookie с новой датой истечения срока и затем сразу уничтожит его, так как это уже передало дату истечения срока:

HttpCookie cookie = Request.Cookies["aLog"];
cookie.Expires = DateTime.Now.AddYears(-10);
Response.AppendCookie(cookie);
10
ответ дан 8 December 2019 в 17:27
поделиться

В дополнение к тому, что сказал Rex, необходимо всегда устанавливать 'путь' любого cookie, который Вы используете (обычно для чего-то как "/"). Иначе видимость cookie зависит от имени папки в URL, поэтому если у Вас будет что-нибудь кроме плоской схемы URL, то устанавливающие и удаляющие cookie будут работать очень непредсказуемо.

4
ответ дан 8 December 2019 в 17:27
поделиться
Другие вопросы по тегам:

Похожие вопросы: