सर्विसस्टैक में अनुरोध/प्रतिक्रिया इंटरसेप्टर सेट करने का सबसे आसान तरीका क्या होगा जो किसी विशेष सेवा के लिए निष्पादित होगा?वैश्विक अनुरोध/प्रतिक्रिया इंटरसेप्टर
एक अनुरोध फ़िल्टर (IHasRequestFilter
) ठीक काम करता है लेकिन प्रतिक्रिया फ़िल्टर (IHasResponseFilter
) ट्रिगर नहीं किया जाता है यदि सेवा गैर 2xx स्थिति कोड लौटाती है। मुझे विधि द्वारा लौटाए गए स्टेटस कोड के साथ-साथ प्रतिक्रिया डीटीओ (यदि कोई हो) पुनर्प्राप्त करने की आवश्यकता है।
एक कस्टम ServiceRunner और अधिभावी OnBeforeExecute
और OnAfterExecute
तरीकों ठीक से काम करने लगता है, लेकिन मैं यह बहुत दखल सेवा धावक पूरे आवेदन के लिए बदलने की जरूरत के रूप में खोजने के लिए और मैं एक तरह से कार्यक्षमता प्रति अलग करने के लिए स्वच्छ रास्ता नहीं मिल सका वे कार्य जिन्हें उन तरीकों से निष्पादित करने की आवश्यकता है।
क्या सर्विसस्टैक में कुछ विस्तार बिंदु है कि मुझे याद आ रही है जो मुझे प्रत्येक सेवा विधि से पहले और प्रत्येक सेवा विधि के बाद कुछ कोड निष्पादित करने की अनुमति देगी? एक प्लगइन आदर्श होगा लेकिन मैं कुछ कल्पित BeforeExecute
और AfterExecute
विधियों की सदस्यता कैसे ले सकता हूं जो मुझे कुछ कस्टम कोड चलाने की अनुमति देगी?
अद्यतन:
बस सवाल मुझे पता चला है कि वैश्विक प्रतिक्रिया फिल्टर कोई बात नहीं क्या स्थिति कोड सेवा है जो है मैं वास्तव में क्या जरूरत द्वारा दिया जाता है क्रियान्वित कर रहे हैं पोस्टिंग के बाद। तो एक आखिरी सवाल: क्या सेवा प्रकार को पुनर्प्राप्त करना संभव है जो अनुरोध फ़िल्टर में अनुरोध को संभालेगा? मुझे यह जांचने की ज़रूरत है कि क्या यह सेवा कुछ कस्टम मार्कर विशेषता द्वारा सजाया गया है या नहीं।
हाँ मैं बस मध्य में था जो आपको मेटाडाटा को इंगित करने वाले क्यू का जवाब दे रहा था :) इसके अलावा आप मेटाडेटा सर्विसस्टैक को [/operations/metadata ](http://razor.servicestack.net/operations/metadata) मार्ग के साथ भी देख सकते हैं । – mythz