Kebijakan Set-Variabel: Jenis pengembalian ekspresi tidak diperbolehkan

Ekspresi Kebijakan Azure APIM memiliki akses ke objek konteks yang memiliki properti Variables, yang seharusnya bertipe IReadOnlyDictionary<string, object>. Saya seharusnya dapat menambahkan nilai ke kamus itu melalui rel kebijakan set-variabel. Saya ingin dapat menambahkan objek apa pun ke kamus, tetapi saya mengalami kesalahan saat mencoba menambahkan apa pun selain string.

Misalnya, ketika saya mencoba menyimpannya ke dalam definisi kebijakan masuk saya:

<set-variable name="regexGroups" value="@(Regex.Match("inputString","regex").Groups)" />

Saya mendapatkan kesalahan yang berbunyi:

Kesalahan dalam elemen 'set-variable' pada baris X, kolom Y: Tipe pengembalian ekspresi 'System.Text.RegularExpressions.GroupCollection, System' tidak diperbolehkan.

GroupCollection mewarisi dari, object, jadi itu harus menjadi nilai yang valid di kamus Variables. Mengapa ini tidak berhasil?

Jika saya mencoba memasukkannya secara eksplisit sebagai objek:

<set-variable name="regexGroups" value="@((object)Regex.Match("inputString","regex").Groups)" />

Saya mendapatkan kesalahan yang berbunyi:

Kesalahan pada elemen 'set-variable' pada baris X, kolom Y: Tipe pengembalian ekspresi 'System.Object' tidak diperbolehkan

Apakah saya salah sintaksisnya?


person BobbyA    schedule 12.03.2019    source sumber


Jawaban (1)


Hanya beberapa tipe yang diperbolehkan sebagai nilai variabel dalam ekspresi APIM, objek bukan salah satunya, berikut adalah daftar lengkap dari apa yang diperbolehkan sebagai nilai variabel saat ini:

  • Sistem.Boolean
  • Sistem.SByte
  • Sistem.Byte
  • Sistem.UInt16
  • Sistem.UInt32
  • Sistem.UInt64
  • Sistem.Int16
  • Sistem.Int32
  • Sistem.Int64
  • Sistem.Desimal
  • Sistem.Tunggal
  • Sistem.Ganda
  • Sistem.Panduan
  • Sistem.String
  • Sistem.Char
  • Sistem.DateTime
  • Sistem.Rentang Waktu
  • Sistem.Byte[]
  • Respons saya
  • Jwt
  • Newtonsoft.Json.Linq.JToken
person Vitaliy Kurokhtin    schedule 12.03.2019
comment
telapak tangan Jenis Variabel membuat saya bingung, saya harus membaca ulang dokumentasi untuk Set-Variable dengan cermat. Terima kasih! - person BobbyA; 12.03.2019