Bu makale, ASP.NET Core'da AOP engellemesini uygulamak için değiştirilen Autofac'ın kullanımını ayrıntılı olarak açıklar.
Aspect Oriented Programming (AOP) çok sıcak bir konu. AOP'nin temel amacı, iş işleme sürecinde belirli bir aşama veya aşamayla karşı karşıya kalan kesim yüzeyini çıkarmaktır; bu aşama, mantık sürecinin parçaları arasında düşük bağlılığın izolasyon etkisini elde etmek için işlem sürecinde belirli bir aşama veya aşama ile karşı karşıya kalır.
Sınıf kütüphanelerini tanıtın
Nuget komutu şöyledir:
Autofac, AOP'yi uygulamak için kullanılır
İlk olarak, aşağıdaki kodla bir kesişme sınıfı oluşturuyoruz:
Burada, IInterceptor'u devralmanız ve ardından Intercept yöntemini uygulamanız gerekir: Alınan içeriği doğrudan hata ayıklama penceresine gönderiyoruz (resmi proje: Lütfen işin önlemesine göre müdahaleyi yapın):
Burada işlemi kaydetmek için ILogger kullanıyorum, aşağıdaki gibi:
Kesmek istediğimiz hizmetleri buluyoruz, TestService1 ve TestService2, bunu iki şekilde yapıyoruz.
TestService1: Bir özellik tarafından yakalandı
TestService2: Konfigürasyonla kesinti
Kod şöyledir:
Startup düzenleme yöntemi ConfigureServices'te, TestService2 servisini aşağıdaki şekilde yapılandırarak engelleyin:
Önemli kod şöyledir:
Burada enjeksiyon yaptığınız servisin ardından eklemeniz gerektiğini unutmayınEnableInterfaceInterceptorsMüdahalenizi açmak için
Kontrolör kodu şöyledir:
Projeyi dotnet çalıştırma komutuyla başlat, URL'ye erişin ve konsol çıkış günlüğü şu şekildedir:
AOP tarafından ele geçirilen geri dönüş değerinin web sayfasına geri dönenle aynı olduğunu bulduk, bu yüzden Autofac ile AOP yakalamasını tamamladık.
(Son)
|