Festlegen der Aufbewahrungsdauer von Antworten im CacheSet response cache duration

Dieser Artikel zeigt ein Beispiel für eine Azure API Management-Richtlinie, das veranschaulicht, wie Sie die Aufbewahrungsdauer von Antworten im Cache mit dem maxAge-Wert im vom Back-End gesendeten Cache-Control-Header festlegen.This article shows an Azure API management policy sample that demonstrates how to set response cache duration using maxAge value in Cache-Control header sent by the backend. Um den Code einer Richtlinie festzulegen oder zu bearbeiten, führen Sie die Schritte unter Festlegen oder Bearbeiten von Azure API Management-Richtlinien aus.To set or edit a policy code, follow the steps described in Set or edit a policy. Weitere Beispiele finden Sie unter API Management-Richtlinienbeispiele.To see other examples, see policy samples.

RichtliniePolicy

Fügen Sie den Code in den Block inbound ein.Paste the code into the inbound block.

<!-- This snippet demonstrates how to set response cache duration using maxAge value in Cache-Control header sent by the backend. -->

<!-- Copy the following snippet into the outbound section. -->
      
<policies>
  <inbound>
    <base />
  </inbound>
  <backend>
    <base />
  </backend>
  <outbound>
    <base />
    <!-- The following policy can be tested by setting up an API and operation mapped to GET http://httpbin.org/cache/{duration} -->
    <cache-store duration="@{
        var header = context.Response.Headers.GetValueOrDefault("Cache-Control","");
            var maxAge = Regex.Match(header, @"max-age=(?<maxAge>\d+)").Groups["maxAge"]?.Value;
            return (!string.IsNullOrEmpty(maxAge))?int.Parse(maxAge):300;
        }"
     />
  </outbound>
  <on-error>
    <base />
  </on-error>
</policies>

Nächste SchritteNext steps

Weitere Informationen zu APIM-Richtlinien:Learn more about APIM policies: