2012-09-04 37 views
5

मैं आईई 9 में सिग्नलआर का उपयोग कर रहा हूं और दुर्भाग्य से, इसे हमेशा के लिए फ्रेम कनेक्शन का उपयोग करने के लिए अपनाना होगा।सिग्नलआर - आईई में हमेशा के लिए फ्रेम निष्क्रिय होने के कुछ मिनटों के बाद काम करना बंद कर देता है

मैंने आईई में डेवलपर टूल्स के साथ इसे देखने में कुछ समय बिताया है। मैं गतिशील रूप से डाले गए IFrame में लोड होने वाले कॉलबैक देख सकता हूं, और वे सिग्नलआर प्लगइन में प्राप्त फ़ंक्शन को कॉल करते हैं। हालांकि इनमें से लगभग 20/30 के बाद यह सिर्फ प्रत्युत्तर देना बंद कर देता है - अब मैं सर्वर से क्लाइंट स्क्रिप्ट को कॉल नहीं कर सकता।

मुझे लगता है कि आईफ्रेम लोड अंत में समाप्त हो रहा है, लेकिन इसके लिए कोई घटना नहीं हुई है, इसलिए मैं एक पुन: कनेक्ट नहीं कर सकता।

क्या किसी ने आईई में काम कर रहे एक मजबूत सिग्नल कनेक्शन प्राप्त करने में कामयाब रहे हैं?

धन्यवाद :)

+1

आप SignalR किस संस्करण का उपयोग कर रहे हैं? मैं सिग्नलआर के पुराने संस्करणों में आईई 9 में हर समय यह देखता था, लेकिन मैं अब इसे 0.5 की तरह कभी नहीं देखता। –

+1

मैं इसे जेबीआर पर 0.5.3 के साथ आईई 9 पर भी देखता हूं, इसे विश्वसनीय बनाने के लिए वहां लंबे समय तक चलना पड़ा। अभी तक क्या हो रहा है यह पता लगाने में सक्षम नहीं था। –

+0

@DrewMarsh मैं NuGet पर नवीनतम संस्करण का उपयोग कर रहा हूं - 0.5.3 – Kram

उत्तर

1

जब भी मैं हो रहा देखा था, मैं वास्तव में दुष्ट, ज़ोंबी IE9 प्रक्रियाओं पृष्ठभूमि में चल रहा था। उनके पास उनके साथ एक खिड़की भी नहीं थी। इसलिए, मैं उन ज़ोंबी को मार डालूंगा और आईई के एक नए उदाहरण को फिर से लॉन्च करूँगा और लंबे समय तक कोई समस्या नहीं है जब तक कि समस्या का कारण बनने का कोई कारण नहीं हो जाता।

पागल लगता है मुझे पता है, लेकिन मैंने समस्या के लक्षणों के बारे में डेविड फाउलर को समझाते हुए एक लंबा समय बिताया और मैं कभी भी आईफ्रेम के लिए किसी भी कारण को जादुई रूप से बंद करने के लिए कोई कारण नहीं देख सकता था ताकि परिवहन शुरू हो सके iFrame सत्र। सिग्नलआर संदेशों ने स्वयं को तार्किक संदेश स्ट्रीम को हमेशा ठीक से समाप्त कर दिया है, पहले से हीस्टेन्चेंज इवेंट बस फायरिंग बंद कर देगा।

+0

तो वर्तमान में, इस मुद्दे के लिए अभी कोई फिक्स नहीं है? अपने टास्क मैनेजर में पुराने यानी 9 कार्यों को मारने के अलावा? =/मुझे सफारी – anthonypliu

+0

में भी एक ही समस्या मिल रही है, जिस समस्या का मैं अनुभव कर रहा था, नहीं ... यह आईई के भीतर आईफ्रेम काम करने के तरीके से कुछ था कि यह केवल राज्य की घटनाओं को तैयार करने से रोक देगा जब तक कि मैं मारे नहीं खराब आईई प्रक्रिया। –

8

हमारे पास एक मुद्दा था जहां वेबसाइट पर जावास्क्रिप्ट काम करना बंद कर देगा, विशेष रूप से हमने यह नोट किया कि अजाक्स कॉल काम नहीं करेगा। कुछ जांच के बाद हमने पाया कि सिग्नलआर दुर्घटना का कारण था, और हमने इस पोस्ट को हमेशा के लिए फ्रेम्स के बारे में पाया। हम को दूर करने की कोशिश की हमेशा के लिए ग्राहकों को JavaScript में निम्न कोड के साथ SignalR में समर्थन फ़्रेम:

$.connection.hub.start({ transport: ['webSockets', 'serverSentEvents', 'longPolling'] }); 

इस प्रकार केवल समर्थन 'WebSockets', 'serverSentEvents', 'longPolling'।

+0

या आप 1-2 मिनट के बाद टाइमआउट सेट कर सकते हैं, इसलिए क्लाइंट को फिर से कनेक्ट करने की आवश्यकता है। –

+0

क्रैश? इस संदर्भ में क्रैश का क्या अर्थ है – davidfowl

+0

परिशुद्धता के लिए संपादित पोस्ट। जावास्क्रिप्ट क्रैश: यह है कि अन्य अजाक्स कॉल काम करना बंद कर देंगे (विशेष रूप से एक क्रिया जो अजाक्स कॉल में आंशिक दृश्य लौटाएगी, इसके बजाय एक नए पृष्ठ पर रीडायरेक्ट की जाएगी)। – Doff3n

1

this के अनुसार गीथब मुद्दा यह jQuery 1.10.1 में तय किया गया था।

समस्या 1.9.x में पेश की गई थी और 1.10.1 पर तय की गई थी।

JQuery 1.8.1 के साथ चल रहा है यह भी काम करता प्रतीत होता है।

समाधान: अद्यतन jQuery

0

दस्तावेज़ तैयार घटना में इस रखो और अपने iframe समस्याओं के सभी हल किया जा जाएगा:

$.connection.hub.start({ transport: ['webSockets', 'serverSentEvents', 'longPolling'] });