MVC Controller Action метод кеша сервера - PullRequest
0 голосов
/ 22 сентября 2018

При последовательном вызове одного и того же метода действия контроллера MVC с разными входами, замеченными в журналах сервера во время второго вызова, с сохранением значений входных параметров, которые были переданы во время первого вызова.

Ниже приведена процедура вызова в угловом формате.

 var oDat = {
   dob: '',
   tob: '',
   latlng: '',
   timezone: ''
   };
   oDat.dob = dob.split('T')[0].split('-')[2] + '|' + dob.split('T')[0].split('-')[1] + '|' + dob.split('T')[0].split('-')[0];
   oDat.tob = dob.split('T')[1].split(':')[0]  + '|' + dob.split('T')[1].split(':')[1] + '|' + '0';
   oDat.latlng = latlng;
   oDat.timezone = tz;
   //let headers = new Headers({ 'Content-Type': 'application/json; charset=utf-8' });
    let headers = new HttpHeaders();
    headers = headers.set('Content-Type', 'application/json; charset=utf-8');   
    return this.http.post(this.apiUrl9, JSON.stringify(oDat), {headers: headers}).pipe(
    map(this.extractData),
    catchError(this.handleError)
   );

ОБНОВЛЕНИЕ Проблема не изменилась даже после отключения http cache

headers.append('Cache-control', 'no-cache');
    headers.append('Cache-control', 'no-store');
    headers.append('Expires', '0');
    headers.append('Pragma', 'no-cache');

1 Ответ

0 голосов
/ 22 сентября 2018

Я решил проблему с кешем на сервере, установив атрибут ниже, прямо над методом действия

[OutputCache(NoStore = true, Duration = 0)]

Вот ссылка, которая помогла Запретить кэширование в ASP.NET MVC для определенных действий с использованием атрибута

...