Ustaw zmienną

DOTYCZY: Wszystkie warstwy usługi API Management

Zasady set-variable deklarują zmienną kontekstową i przypisuje jej wartość określoną za pomocą wyrażenia lub literału ciągu. Jeśli wyrażenie zawiera literał, zostanie przekonwertowany na ciąg, a typem wartości będzie System.String.

Uwaga

Ustaw elementy zasad i elementy podrzędne w kolejności podanej w instrukcji zasad. Dowiedz się więcej na temat ustawiania lub edytowania zasad usługi API Management.

Instrukcja zasad

<set-variable name="variable name" value="Expression | String literal" />

Atrybuty

Atrybut opis Wymagania
name Nazwa zmiennej. Wyrażenia zasad nie są dozwolone. Tak
wartość Wartość zmiennej. Może to być wyrażenie lub wartość literału. Wyrażenia zasad są dozwolone. Tak

Użycie

  • Sekcje zasad: ruch przychodzący, wychodzący, zaplecze, błąd
  • Zakresy zasad: globalny, obszar roboczy, produkt, interfejs API, operacja
  • Bramy: klasyczne, v2, zużycie, self-hosted

Dozwolone typy

Wyrażenia używane w set-variable zasadach muszą zwracać jeden z następujących typów podstawowych.

  • System.Boolean
  • System.SByte
  • System.Byte
  • System.UInt16
  • System.UInt32
  • System.UInt64
  • System.Int16
  • System.Int32
  • System.Int64
  • System.decimal
  • System.Single
  • System.double
  • System.guid
  • System.string
  • System.char
  • System.datetime
  • System.timespan
  • System.Byte?
  • System.UInt16?
  • System.UInt32?
  • System.UInt64?
  • System.Int16?
  • System.Int32?
  • System.Int64?
  • System.decimal?
  • System.Single?
  • System.double?
  • System.guid?
  • System.string?
  • System.char?
  • System.datetime?

Przykład

W poniższym przykładzie pokazano set-variable zasady w sekcji przychodzącej. Ta zasada ustawiania zmiennych tworzy zmienną kontekstową logiczną ustawioną isMobile na wartość true, jeśli User-Agent nagłówek żądania zawiera tekst iPad lub iPhone.

<set-variable name="IsMobile" value="@(context.Request.Headers.GetValueOrDefault("User-Agent","").Contains("iPad") || context.Request.Headers.GetValueOrDefault("User-Agent","").Contains("iPhone"))" />

Aby uzyskać więcej informacji na temat pracy z zasadami, zobacz: