2009-10-07 16 views
13

मैं एक गतिशील आंशिक लोड asp.net पृष्ठ का निर्माण कर रहा हूँ, मैं jQuery का उपयोग करने के सामग्री HTML पुनः प्राप्त करने के पेज तरीकों या वेब सेवा को कॉल करना चाहते हैं।ASP.NET पेज तरीकों बनाम वेब सेवा

पृष्ठ विधियों या वेब सेवा, प्रदर्शन के अनुसार, किस तरह से बेहतर है?

अगर मैं पेज विधि कॉल, सर्वर साइड पर, पेज पूर्ण जीवन चक्र के माध्यम से जाना जाता है?

क्या कोई अच्छा संसाधन पृष्ठ विधि को बेहतर ढंग से समझने में मेरी सहायता करता है?

उत्तर

17

आप ScriptManager नियंत्रण (बिना जावास्क्रिप्ट प्रॉक्सी ऑब्जेक्ट्स जेनरेट करते हैं जो आपको वेब सेवाओं और पेज विधियों को कॉल करने के लिए परिचित वाक्यविन्यास का उपयोग करने की अनुमति देता है) के बिना पेजमाइड्स और वेब सेवाओं को कॉल कर सकते हैं। using jQuery to Consume ASP.NET JSON Web Services

पर पर using jQuery to directly call ASP.NET AJAX page methods

अनुच्छेद

अनुच्छेद यहाँ एक MSDN article from 2007 on Web Services and Page Methods है। इसके माध्यम से संक्षेप में देख रहे हैं, ऐसा लगता है कि वे कैसे काम करते हैं/आज उन्हें काम करने के लिए आपको क्या करना है, यह प्रासंगिक है।

बुद्धिमान प्रदर्शन:

आप पृष्ठ तरीकों वेब सेवाओं से बेहतर प्रदर्शन प्रदान करने के लिए उम्मीद कर सकते हैं। वेब सेवा कॉल को हल करने के लिए, एएसपी.नेट रनटाइम पार्स SOAP पैकेट्स को हल करने के लिए है। हालांकि, बिल्कुल सही नहीं है। एएसपी.नेट AJAX एक दर्जी निर्मित HTTP हैंडलर (चित्र 3 देखें) स्थापित करता है जो सभी ASMX अनुरोधों को रोकता है। ए/जेएस प्रत्यय के साथ अनुरोध अलग-अलग संसाधित होते हैं, सीधे जेएसओएन पेलोड और वेब सेवा विधि के साथ काम कर रहे हैं। नतीजतन, कोई SOAP शामिल नहीं है और अनुरोध के निकाय में इनपुट तर्कों के JSON स्ट्रीम में शामिल है। गैर AJAX के अनुरोधों के लिए, नया HTTP हैंडलर बस प्रतिनिधियों कॉल बैक मूल ASP.NET हैंडलर कि सोप समझता है।

पृष्ठ जीवनचक्र के जवाब में, पृष्ठ के तरीके कर सर्वर साइड पृष्ठ जीवन चक्र में नहीं जाना (वहाँ भी एक client-side Page Lifecycle भी है)।

+0

हे @Russ एक ही लेख फिर से! – TheVillageIdiot

+0

@TheVillageIdiot - मैं इसे जल्द से जल्द आने की उम्मीद नहीं कर रहा था! –

+0

@RussCam एक फॉलो-अप प्रश्न, पृष्ठ विधि Async हैं, या वे Async बनाया जा सकता है? मैंने एक दीवार मारा है जहां एक पेजमाइड्स कॉल (जो लगभग 4 सेकंडस्टो रिटर्न लेता है) ब्लॉक करता है और अन्य टाइमर-आधारित पेज विधि कॉल को अपेक्षित रूप से चलने से रोकता है। –

संबंधित मुद्दे