Я в середине применения кэширования для нашего корпоративного API. Я пытаюсь получить Cache-Control типа «public, max-age = 600» для совместимости с нашим балансировщиком нагрузки, который поддерживает обратное кэширование прокси.Как достичь «Cache-Control: public, max-age = 600» с использованием AspNetCacheProfile в WCF
Однако я могу получить только WCF для вывода «private, max-age = 600», что неверно для обратного кэширования прокси.
У меня есть следующий профиль, установленный для местоположения: Сервер (так как мне нужно кэширование на уровне ASP-приложений), но я также пробовал все остальные местоположения, но никто не даст мне Public.
<caching>
<outputCache enableOutputCache="true"/>
<outputCacheSettings>
<outputCacheProfiles>
<add name="CacheDefault" duration="600" varyByParam="none" location="Any" />
</outputCacheProfiles>
</outputCacheSettings>
</caching>
Im не используя стандарт WCF, как это, ничего фантазии:
[AspNetCacheProfile("CacheDefault")]
[OperationContract]
[WebGet(UriTemplate = "/GetData/{value}")]
string GetData(string value);
Я даже начал совершенно новый проект службы WCF только для удаления любых вмешивающихся переменных, которые могут быть в моем текущем коде производства, но он по-прежнему выходит из строя.
P.S. Должно быть, я должен четко указать, что я не пытаюсь переопределить WebOperationContext.current.outgoingresponse.headers вручную. Я после быстрой победы с настройкой AspNetCacheProfile.
Любая помощь будет замечательной!
Большое спасибо!
Oliver
Извините, но это не подходит для этого сценария. Большое спасибо, Оливер –