Atrybut dodający logikę do metody

Atrybut dodający logikę do metody
Inclouds
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 90
0

Cześć.

Chciałbym osiągnąć w wieeeelkim uproszczeniu taką funkcjonalność, że przypisując atrybut (przykładowo [DoAsync]), do metody controllera, będzie ona wywoływana jako task. Sprowadzi się to do przekierowania requesta do czegoś co przeczyta ten atrybut, weźmie(skąd?) referencje tej metody do której jest przypisany, i odpali ją jako task. Czy jest to wykonalne?

  • Rejestracja: dni
  • Ostatnio: dni
2

Jak najbardziej. Takie coś nazywa się programowaniem aspektowym a to czego dokładnie szukasz to interceptor. Jego działanie polega na tym, że opakowuje metodę i możesz wykonać dowolny kod przed i po metodzie np. wywołać ją wewnątrz Tasku.

somekind
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Wrocław
0

Dodam, że sensowne kontenery IoC posiadają obsługę interceptorów, sprawdź, czy ten, którego używasz ją ma.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.