постановка задачи:
Есть страница a.aspx, которая обрабатывает входные параметры и возвращает xml. Эта страница кэшируется: при повторном запросе с одними и теми же параметрами возвращает код 304 и данные из кэша.
Нужно написать тест, который проверяет, что при повторном запросе действительно возвращается 304, а не 200.
Проблема в формировании повторного запроса. Есть код:
HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(connection);
HttpWebResponse response =(HttpWebResponse)request.GetResponse();
HttpWebRequest resRequest = (HttpWebRequest)HttpWebRequest.Create(connection);
HttpWebResponse resRespomnse = (HttpWebResponse)resRequest.GetResponse();
if (resResponse.StatusCode == HttpStatusCode.NotModified)
return true;
Оба раза приходит 200. Подскажите, почему так происходит и как это поправить.
Здравствуйте, hardcase, Вы писали:
H>Здравствуйте, hackersdelight, Вы писали:
H>>Оба раза приходит 200. Подскажите, почему так происходит и как это поправить.
H>Заголовок If-Modified-Since во втором запросе выставляете?
Вообще этот заголовок выставляется в обработчике страницы. А что при таком вызове его нужно выставлять еще раз ручками?
Ответ не по теме:
А вы бы не могли прислать эту самую страницу "a.aspx, которая обрабатывает входные параметры и возвращает xml" — сейчас очень нужно для личного применения...
Заранее, благодарен.
Здравствуйте, flpavel, Вы писали:
F>Ответ не по теме: F>А вы бы не могли прислать эту самую страницу "a.aspx, которая обрабатывает входные параметры и возвращает xml" — сейчас очень нужно для личного применения...
На деле такие вещи лучше делать через отдельный хэндлер (IHttpHandler, ashx файл).
Здравствуйте, hardcase, Вы писали:
H>Здравствуйте, flpavel, Вы писали:
F>>Ответ не по теме: F>>А вы бы не могли прислать эту самую страницу "a.aspx, которая обрабатывает входные параметры и возвращает xml" — сейчас очень нужно для личного применения...
H>На деле такие вещи лучше делать через отдельный хэндлер (IHttpHandler, ashx файл).
это не страница, а класс, описывающий IHttpHandler и вроде ISessionState (в названии могла ошибиться). Этот класс привязан на обработку запроса a.aspx (это прописывается в web.config). К сожалению страницей поделиться не могу, но могу ответить на любой вопрос с этим связанный.