IActionConstraint Antarmuka
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
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. |