2013-05-22 8 views
8

हमारे नवीनतम वेब सेवा अनुप्रयोगों में से कुछ के साथ बुरी तरह से रिपोर्टिंग ServiceStack के नए 3.9.x संस्करण का उपयोग कर रहा है और हम 3.9.44.0 का उपयोग करने के v3.5.x से हमारे पुराने अनुप्रयोगों में से एक अपडेट करने वाले हैं । 3.5.x संस्करण नई अवशेष के साथ बहुत अच्छी तरह से रिपोर्टिंग कर दिया गया है, लेकिन लोगों को हम 3.9.x के साथ अब तक नई अवशेष के साथ अजीब रिपोर्ट कर रहा है। कभी-कभी यह कम यातायात के साथ रिपोर्ट करता है लेकिन दूसरी बार यह सिर्फ फ्लैट रेखांकित है।नई ServiceStack नई अवशेष

हम न्यू अवशेष के साथ एक खुली टिकट है और वे किसी भी संभावित समस्या यहां के लिए डॉटनैट सेवा में अपने ServiceStack समर्थन में कोई भी परिवर्तन के लिए System.Web.HttpApplication.BeginRequest() और कोई ज्ञात समय में हुक कहा गया।

तो हम अगर वहाँ कुछ ServiceStack कि किसी भी कारण से इस हुक बाईपास हैं में बदल गया है उत्सुक हैं?

या जो नई अवशेष का उपयोग करता है किसी और को है, यह अनुभव और नई अवशेष की भागीदारी के बिना एक समाधान पाया?

उत्तर

7

हम अंत में समस्या का समाधान खोजने में सफल रहे। नया सर्विसस्टैक सभी पाए गए लेनदेन उदाहरण जारी कर रहा था जिसमें न्यू रिलिक के सेवा एजेंट द्वारा बनाई गई घटना भी शामिल थी। नई अवशेष उदाहरण समय से पहले ही रिलीज होने से बचने के लिए AppHostBase.Release विधि अपनी खुद की AppHost में ओवरराइट किया जा सकता है:

public override void Release(object instance) 
{ 
    if (instance.GetType().ToString().StartsWith("NewRelic.Agent", StringComparison.CurrentCultureIgnoreCase)) 
    return; 

    base.Release(instance); 
} 
+0

क्या यह परिवर्तन अभी भी जरूरी है, या क्या नया अवशेष अपने अंत से कुछ समझता है? - धन्यवाद – Tyst

+1

@Tyst - मुझे विश्वास नहीं है कि नई अवशेष ने किया था और मुझे लगता है कि वे ऐसा नहीं कर पाएंगे क्योंकि सर्विसस्टैक संबंधित सभी मौजूदा उदाहरणों को पकड़ रहा है और उन्हें रिहा करने का प्रयास कर रहा है। सर्विसस्टैक में शायद इसकी हमेशा आवश्यकता क्यों न हो जब तक सर्विसस्टैक इसे बेस रिलीज कोड में जोड़ न दे। – Quintium

1

इस ढांचे के बाद के संस्करणों के लिए उपकरण की नई अवशेष की कमी से कोई लेना देना नहीं है। अगर कुछ बदल गया है, तो नए अवशेष को इसके लिए समर्थन जोड़ने की आवश्यकता होगी।

+0

@ Scalayer - आप कृपया क्या ServiceStack में बदल गया है के रूप में अधिक विशिष्ट हो सकता है और यह तरीका बताया गया है पहले प्रसंस्करण पाइपलाइन बनाम अनुरोध प्रसंस्करण में hooking। यह जानकारी समझने में मदद कर सकती है कि क्यों नया अवशेष एसएस के बाद के संस्करणों के साथ काम नहीं कर रहा है। – dawebber

+0

मैं सर्विसस्टैक डेवलपर नहीं हूं, लेकिन मुझे यकीन है कि आप अधिक जानकारी के लिए उनसे संपर्क कर सकते हैं। – Scalayer