Bagikan melalui


IActionConstraint Antarmuka

Definisi

Mendukung logika kondisional untuk menentukan apakah tindakan terkait valid untuk dipilih atau tidak untuk permintaan yang diberikan.

public interface class IActionConstraint : Microsoft::AspNetCore::Mvc::ActionConstraints::IActionConstraintMetadata
public interface IActionConstraint : Microsoft.AspNetCore.Mvc.ActionConstraints.IActionConstraintMetadata
type IActionConstraint = interface
    interface IActionConstraintMetadata
Public Interface IActionConstraint
Implements IActionConstraintMetadata
Turunan
Penerapan

Keterangan

Batasan tindakan memiliki efek sekunder untuk membuat tindakan dengan batasan yang diterapkan kecocokan yang lebih baik daripada satu tanpanya.

Pertimbangkan dua tindakan, 'A' dan 'B' dengan tindakan dan nama pengontrol yang sama. Tindakan 'A' hanya memungkinkan metode HTTP POST (melalui batasan) dan tindakan 'B' tidak memiliki batasan.

Jika permintaan masuk adalah POST, maka 'A' dianggap sebagai kecocokan terbaik karena cocok dan memiliki batasan. Jika permintaan masuk menggunakan kata kerja lain, 'A' tidak akan valid untuk seleksi karena batasannya, jadi 'B' adalah kecocokan terbaik.

Batasan tindakan juga dikelompokkan sesuai dengan nilai pesanannya. Batasan apa pun dengan nilai grup yang sama dianggap sebagai bagian dari kebijakan aplikasi yang sama, dan akan dijalankan dalam tahap yang sama.

Tahapan berjalan dalam urutan naik berdasarkan nilai Order. Mengingat serangkaian tindakan yang merupakan kandidat untuk seleksi, tahap berikutnya untuk dijalankan adalah nilai Order terendah untuk setiap batasan kandidat mana pun yang lebih besar dari urutan tahap terakhir.

Setelah urutan tahap diidentifikasi, setiap tindakan memiliki semua batasannya dalam tahap tersebut yang dijalankan. Jika ada batasan yang tidak cocok, maka tindakan tersebut bukan kandidat untuk seleksi. Jika ada tindakan dengan batasan dalam status saat ini masih merupakan kandidat, maka itu adalah tindakan 'terbaik' dan proses ini akan diulang dengan tahap berikutnya pada serangkaian tindakan 'terbaik'. Jika setelah memproses tahapan berikutnya dari tindakan 'terbaik' tidak ada kandidat yang tersisa, proses ini akan berulang pada serangkaian tindakan kandidat 'lainnya' dari tahap ini (yang tanpa batasan).

Properti

Order

Urutan batasan.

Metode

Accept(ActionConstraintContext)

Menentukan apakah tindakan adalah kandidat yang valid untuk pilihan.

Berlaku untuk