द्वारा यादृच्छिक रूप से वापस किया जा रहा है मैं विंडोज सर्वर 2008 आर 2 पर एक एएसपी.Net ऐप चला रहा हूं। मेरे पास .NET Framework 4.5 स्थापित है। .NET Framework v2.0 से v4.0 में माइग्रेट करने पर मुझे डब्ल्यूसीएफ से यादृच्छिक व्यवहार का अनुभव करना शुरू हो गया।अमान्य JSON को WCF
मेरी वेब सेवा JSON लौटाती है। आईआईएस को पुनरारंभ करने पर सेवा पूरी तरह से वैध JSON लगभग 3 से 5 गुना वापस आ जाएगी। उसके बाद, JSON अमान्य हो जाता है। मैंने निरीक्षण किया है कि फिडलर के माध्यम से तार में क्या आ रहा है और क्लाइंट ऐप (एक एडोब एयर ऐप जो सेवा कहता है) और सर्वर पर ही अपने स्वयं के लॉग पर है।
फिडलर दिखाता है कि कच्चे प्रतिक्रिया में वास्तव में अमान्य JSON होता है। यह बहुत अधिक प्रतीत होता है कि जेएसओएन में कुछ यादृच्छिक बिंदु प्रतिक्रिया जेएसओएन फिर से लिखना शुरू कर देता है !, इस बात पर ओवरराइटिंग और प्रक्रिया में उलझन में जेएसओएन का उत्पादन करना चाहिए।
{"responseCode":0,"actionCode":"OK","cdn{"responseCode":0, "actionCode".....
नोट कैसे "प्रतिक्रिया कोड" (जो केवल JSON उत्तर की शुरुआत में दिखाई देनी चाहिए) अचानक आगे पर JSON में फिर से प्रकट होता है:
इस श्रेणीबद्ध उदाहरण देखें। "cdn{"responseCode":0
निश्चित रूप से अमान्य JSON है।
मैंने कई पैच की कोशिश की है। मैंने अलग-अलग ढांचे और विभिन्न संयोजनों के तहत ServiceModelReg.exe
और aspnet_regiis.exe
चलाने का प्रयास किया है। वही व्यवहार अगर मैं v2.0 के तहत पिछले कोड पर वापस आ जाता हूं और ऐप पूल को वापस v2.0 पर स्विच करता हूं तो सब कुछ ठीक काम करता है।
मुझे विश्वास है कि यह डब्ल्यूसीएफ में गहरी गड़बड़ी होगी। कोई विचार?
इस बिंदु पर मेरे पास एकमात्र सहारा है डब्ल्यूसीएफ को बाहर निकालना और सर्विसस्टैक जैसी किसी चीज़ पर स्विच करना जहां मैं आवश्यक हो तो सभी कोड में डीबग कर सकता हूं।
बफरिंग समस्या किसी प्रकार का है, जहां एक बफर retransmitted है, या जहां एक बफर के बाद संचरण/स्वागत में अवरोध है ऐसा लगता है। –
मुझे इस पर किसी भी मौजूदा मुद्दे से अवगत नहीं है। लेकिन यह समझने में सहायक होगा कि क्या आप रेपो कोड का एक टुकड़ा पोस्ट कर सकते हैं। – Praburaj
क्या आपने असफलता जांचने की कोशिश की है कि यह देखने के लिए कि क्या प्रक्रिया के माध्यम से कुछ भी चल रहा है? क्या आपने जावास्क्रिप्टसेरियलाइज़र() के माध्यम से अपनी वापसी वस्तुओं को चलाने का प्रयास किया है ताकि यह देखने के लिए कि इसमें कोई गड़बड़ है या नहीं? यदि आपको आवश्यकता है तो आप ढांचे में डीबग कर सकते हैं (देखें: http://msdn.microsoft.com/en-us/library/cc667410.aspx)। – Pete