Я пытаюсь заставить ASP.Net кэшировать ответ на запрос веб-службы, задав свойство CacheDuration
атрибута WebMethod
:
[WebMethod(CacheDuration = 60)]
[ScriptMethod(UseHttpGet = true)]
public static List<string> GetNames()
{
return InnerGetNames();
}
Выше приведен метод на странице ASP.Net (я также пытался переместить его в свой собственный класс, но, похоже, это не имело никакого значения) - я установил UseHttpGet
в true, потому что POST
запросов не кэшируются, однако, несмотря на все мои усилия, похоже, что это не имеет никакого значения (точка останова, помещенная в начале метода, всегда достигает цели).
Это код, который я использую для вызова метода:
%.ajax({
url: "MyPage.aspx/GetNames",
contentType: "application/json; charset=utf-8",
success: function() {
alert("success");
}
Что-то, что я пропустил, может мешать ASP.Net кешировать этот метод?
В противном случае, существуют ли какие-либо диагностические механизмы, которые я могу использовать, чтобы более четко понять, что происходит с кэшированием ASP.Net?