मैं जिस प्रोजेक्ट पर काम कर रहा हूं वह लॉगिंग जैसे पहलुओं को लागू करने के लिए पोस्टशर्प v4.2 का उपयोग कर रहा है। असेंबलीइन्फो.सीएस में मल्टीकास्टिंग के साथ पहलुओं को लक्ष्य पर लागू किया जाता है और वे ठीक काम करते हैं। मल्टीकास्टिंग की तरह परिभाषित किया गया है

[assembly: LoggingAspect.LogAspect(AttributeTargetTypes = "regex:Api.Controllers.Services.*|Api.Controllers.Bananas.*", 
AttributeTargetMembers = "regex:Get.*|Create.*|Edit.*|Delete.*"
AspectPriority = 1, AttributeExclude = false)]

अब मुझे लॉग इन होने से 2 विधियों को बाहर करने की आवश्यकता है। तो मेरे द्वारा जोड़े गए तरीकों को बाहर करने के लिए:

[assembly: LoggingAspect.LogAspect(AttributeTargetMembers = "GetUtilityToken", AspectPriority = 2, AttributeExclude = true)]

मुझे नहीं पता क्यों, लेकिन पहलू अभी भी विधियों (GetUtilityToken, GetDevUtility) पर लागू होता है, भले ही मैंने दस्तावेज़ीकरण.. मैंने रेगेक्स या वाइल्ड कार्ड जैसे AttributeTargetMembers = "Get*" के साथ लक्ष्यीकरण करने का भी प्रयास किया लेकिन पहलू अभी भी लागू होता है। मैंने इस प्रश्न को देखा है काम लेकिन मेरे पास उस विधि में LINQ क्वेरी नहीं है ..

मैं समझ नहीं पा रहा हूं कि मैं क्या खो रहा हूं ... क्या कोई बता सकता है कि इस व्यवहार का कारण क्या हो सकता है? या इंगित करें कि मैं इसे कैसे डिबग कर सकता हूं?

1
guxxo 9 सितंबर 2020, 20:17

1 उत्तर

सबसे बढ़िया उत्तर

आपको AspectPriority के बजाय AttributePriority का उपयोग करना चाहिए।

2
Gael Fraiteur 10 सितंबर 2020, 11:27