2010-07-22 3 views
6

डीबग करने के लिए फिडलर का उपयोग करके मैंने हाल ही में विंडोज फोन 7 के लिए अद्यतन बीटा टूल्स का उपयोग शुरू किया और एक दिलचस्प समस्या में भाग गया। ऐसा लगता है कि फिडलर चलने के साथ, एमुलेटर के माध्यम से चलने वाले किसी भी एचटीपी अनुरोधों ने एक नल परिणाम लौटना शुरू कर दिया और "नहीं मिला" वेब अपवाद बनाया। WebClient.DownloadStringAsync() के साथ पुन: पेश करना आसान है। अगर मुझे सही याद है तो एमुलेटर के पुराने संस्करण फिडलर के साथ काम करते थे। क्या किसी ने दोनों को मिलकर काम करने के लिए भाग्य प्राप्त किया है? यदि यह संभव नहीं है तो मैं किसी भी अन्य उपकरण के लिए खुला होगा जो WP7 एमुलेटर से वेब अनुरोध डीबग करने में मदद कर सकता है।विंडोज फोन 7 एमुलेटर

+1

हाय जेम्स से आया है के लिए फ़िडलर के माध्यम से वापस भेज दिया जाता है, ऐसा प्रतीत होता है इस समस्या को बीटा के साथ पेश किया गया था। एक संकल्प अभी तक नहीं आ रहा है। रेफरी: http: //social.msdn.microsoft.com/Forums/en-US/windowsphone7series/thread/387eeafa-7dd2-4d64-8974-200b0da3f13f ... हालांकि कुछ भ्रम के बिना नहीं: (... ref: http: //social.msdn.microsoft.com/Forums/en-US/windowsphone7series/thread/ed07aaba-5bbe-4cc7-b008-67fa87a83ace –

+0

धन्यवाद पेड़ - ऐसा लगता है कि यह एमुलेटर के साथ एक समस्या है। –

+0

जेम्स, कृपया @me अगर आपको एक कामकाज मिल जाएगा। मैं वही करूँगा। –

उत्तर

2

ऐसा लगता है कि स्थापित करने के लिए कुछ अनुकूलित नियमों के माध्यम से blog post that describes getting fiddler working with Win Phone 7 है।

यहाँ Fiddler वेबसाइट की जानकारी का एक छोटा सा है, लेकिन ब्लॉग पोस्ट एक छोटे से साफ (निराला प्रारूप के लिए खेद है, ब्लॉक कोट सहयोग नहीं कर रहा है) लगता है:

विकल्प # 1: कॉन्फ़िगर के रूप में फिडलर रिवर्स-प्रॉक्सी फिडलर कॉन्फ़िगर किया जा सकता है ताकि http://127.0.0.1:8888 पर भेजा गया कोई भी ट्रैफ़िक स्वचालित रूप से उसी मशीन पर एक अलग पोर्ट पर भेजा गया हो।

प्रारंभ REGEDIT

सेट स्थानीय बंदरगाह के लिए DWORD आप चाहते हैं, उसके पुन: रूट भीतर का यातायात के लिए \ Microsoft \ फ़िडलर HKCU \ सॉफ्टवेयर अंदर ReverseProxyForPort नाम की एक नई DWORD बनाएँ: इस विन्यास सेट करने के लिए (आमतौर पर एक मानक HTTP सर्वर के लिए पोर्ट 80) पुनः प्रारंभ फ़िडलर को http://127.0.0.1:8888

विकल्प # 2 अपने ब्राउज़र नेविगेट करें: एक FiddlerScript नियम लिखें वैकल्पिक रूप से, आप एक नियम लिख सकते हैं जो वही काम करता है।

कहें कि आप वेबरवर नामक मशीन के पोर्ट 80 पर वेबसाइट चला रहे हैं। इंटरनेट एक्सप्लोरर मोबाइल संस्करण विंडोज स्मार्टफोन डिवाइस पर पर आप वेब प्रॉक्सी कॉन्फ़िगर नहीं कर सकते हैं, तो आप वेबसाइट से कनेक्ट हो रहे हैं। आप फ़ोन और सर्वर की प्रतिक्रिया से यातायात को कैप्चर करना चाहते हैं।

वेबस्पर मशीन पर फिडलर प्रारंभ करें, 8888 के डिफ़ॉल्ट पोर्ट पर चल रहा है। उपकरण क्लिक करें। फिडलर विकल्प, और सुनिश्चित करें कि "रिमोट क्लाइंट कनेक्ट करने की अनुमति दें" चेकबॉक्स चेक किया गया है। यदि आवश्यक हो तो पुनरारंभ करें। नियम चुनें नियम अनुकूलित करें। OnBeforeRequest हैंडलर के अंदर, कोड की एक नई पंक्ति जोड़ें: अगर (oSession.host.toLowerCase() == "वेबसर्वर: 8888") oSession.host = "वेबसर्वर: 80"; स्मार्टफोन पर, http://webserver:8888 पर नेविगेट करें स्मार्टफ़ोन से अनुरोध फिडलर में दिखाई देंगे। अनुरोध पोर्ट 8888 से पोर्ट 80 पर भेजा गया है जहां वेबसर्वर चल रहा है। प्रतिक्रियाओं स्मार्टफोन, जो पता नहीं है कि सामग्री मूल रूप से बंदरगाह 80

+0

कुछ सीमाएं हैं, हालांकि निकटतम समाधान होने लगते हैं। –

+0

लिंक अब टूटा हुआ है –

1

मैं ट्रैडलर को यातायात की निगरानी करने में सक्षम नहीं हूं, इसलिए मैं वायरशर्क का उपयोग करता हूं, जो ठीक काम करता है।

+0

हाँ! फिडलर विंडोज फोन 8 एमुलेटर के साथ काम नहीं करता है। – SandRock