Aracılığıyla paylaş


IActionConstraint Arabirim

Tanım

Verilen istek için ilişkili bir eylemin geçerli olup olmadığını belirlemek için koşullu mantığı destekler.

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
Türetilmiş
Uygulamalar

Açıklamalar

Eylem kısıtlamaları, kısıtlama uygulanmış bir eylemin, olmayan bir eylemden daha iyi bir eşleşme yapmasının ikincil etkisine sahiptir.

Aynı eylem ve denetleyici adına sahip 'A' ve 'B' olmak üzere iki eylemi göz önünde bulundurun. 'A' eylemi yalnızca HTTP POST yöntemine izin verir (kısıtlama yoluyla) ve 'B' eyleminin kısıtlaması yoktur.

Gelen istek bir POST ise, hem eşleştiği hem de kısıtlaması olduğu için 'A' en iyi eşleşme olarak kabul edilir. Gelen istek başka bir fiil kullanıyorsa, kısıtlaması nedeniyle 'A' seçim için geçerli olmaz, bu nedenle en iyi eşleşme 'B' olur.

Eylem kısıtlamaları da sipariş değerlerine göre gruplandırılır. Aynı grup değerine sahip tüm kısıtlamalar aynı uygulama ilkesinin parçası olarak kabul edilir ve aynı aşamada yürütülür.

Aşamalar değerine Ordergöre artan düzende çalışır. Seçim adayı olan bir eylem kümesi verildiğinde, çalıştırılacak bir sonraki aşama, herhangi bir adayın son aşamanın sırasına göre daha büyük olan herhangi bir kısıtlama için en düşük değeridir Order .

Aşama sırası tanımlandıktan sonra, her eylemin bu aşamadaki tüm kısıtlamaları yürütülür. Herhangi bir kısıtlama eşleşmiyorsa, bu eylem seçim adayı değildir. Geçerli durumda kısıtlamaları olan eylemler hala adaysa, bunlar 'en iyi' eylemlerdir ve bu işlem 'en iyi' eylemler kümesinde bir sonraki aşamayla tekrarlanır. 'En iyi' eylemlerin sonraki aşamalarını işledikten sonra hiçbir aday kalmazsa, bu süreç bu aşamadaki 'diğer' aday eylemleri (kısıtlaması olmayanlar) kümesinde yinelenir.

Özellikler

Order

Kısıtlama sırası.

Yöntemler

Accept(ActionConstraintContext)

Eylemin seçim için geçerli bir aday olup olmadığını belirler.

Şunlara uygulanır