У меня есть веб-API, написанный на ASP.NET, который я потребляю через AngularJS $http
.
Я включил кэширование в моем AngularJS заводе следующим образом, но каждый запрос по-прежнему возвращает ответ 200
, никогда 200 (from cache)
или 304
(и каждый запрос я имею в виду сделать такой же запрос АНИ веб-много раз на той же странице, пересматривают страница, которую я уже посетил, которая содержит запрос веб-API, обновление указанной страницы и т. д.).
angular.module('mapModule')
.factory('GoogleMapService', ['$http', function ($http) {
var googleMapService = {
getTags: function() {
// $http returns a promise, which has a 'then' function, which also returns a promise
return $http({ cache: true, dataType: 'json', url: '/api/map/GetTags', method: 'GET', data: '' })
.then(function (response) {
return response.data;
});
};
return googleMapService;
}]);
Я пропустил что-то из стороны AngularJS? Или это проблема веб-API. Или оба?
По умолчанию заголовки без кэша являются либо ASP.NET, либо IIS, потому что сам хостинг Web API этого не делает. –
Извините @ DarrelMiller не слишком уверен, что вы имеете в виду. О каком веб-интерфейсе вы имеете в виду? – GFoley83
Веб-интерфейс API - это среда, которая находится поверх некоторого хоста: либо IIS/ASP.NET, WCF Self-Host или некоторый хост на основе Owin. Заголовки кэширования, которые вы видите вставленными по умолчанию, помещаются туда хостом, который вы используете, а не самим веб-апи. Не то, чтобы это ничего не изменило для вас, просто FYI. –