Καλώς ορίσατε στο dotNETZone.gr - Σύνδεση | Εγγραφή | Βοήθεια
σε

 

Αρχική σελίδα Ιστολόγια Συζητήσεις Εκθέσεις Φωτογραφιών Αρχειοθήκες

Asynchronous Web Services

Îåêßíçóå áðü ôï ìÝëïò arxanag. Τελευταία δημοσίευση από το μέλος Παναγιώτης Καναβός στις 06-09-2004, 19:19. Υπάρχουν 3 απαντήσεις.
Ταξινόμηση Δημοσιεύσεων: Προηγούμενο Επόμενο
  •  03-09-2004, 12:52 164

    Asynchronous Web Services

    Αν έχω μια ASP.NET σελίδα που καλεί ενα asynchronous web service, το οποίο όταν επιστρέφει καλεί μια callback μέθοδο, τι συμβαίνει αν όταν το service επιστρέψει η σελίδα έχει τελειώσει το lifecycle της?

  •  06-09-2004, 10:10 170 σε απάντηση της 164

    Re: Asynchronous Web Services

    Το callback εκτελείται κανονικά καθώς το WebForm object δεν πρέπει να έχει καταστραφεί στο server (είναι referenced από το AsynchCallback), αλλά εφ΄ όσον η σελίδα παραδόθηκε από τον IIS χωρίς να περιμένει την εκτέλεση του callback δεν μπορεί πλέον να ενημερωθεί. Νομίζω αυτό το σενάριο μπορεί να είναι χρήσιμο όταν διατηρείται κάποιο state στο server το οποίο μεταβάλλεται από το callback.
  •  06-09-2004, 19:06 174 σε απάντηση της 170

    Re: Asynchronous Web Services

    Το παρακάτω άρθρο ASP.NET Pipeline: Use Threads and Build Asynchronous Handlers in Your Server-Side Web Code -- MSDN Magazine, June 2003 (http://msdn.microsoft.com/msdnmag/issues/03/06/threading/)
     περιγράφει πως μπορούν να γίνουν ασύγχρονες κλήσεις και πότε συμφέρει αυτό.

    Το συμπέρασμα του άρθρου είναι ότι δεν έχει νόημα να χρησιμοποιεί κανείς delegates μέσα από μια σελίδα. Για να μπορέσει κάποιος να κάνει ασύγχρονες κλήσεις θα πρέπει να δημιουργήσει μια σελίδα που κληρονομεί από το IHttpAsyncHandler και χρησιμοποιεί ένα δικό της thread. Ευτυχώς, το άρθρο δείχνει πως μπορεί να γίνει αυτό εύκολα.
    Παναγιώτης Καναβός, Freelancer
    Twitter: http://www.twitter.com/pkanavos
  •  06-09-2004, 19:19 175 σε απάντηση της 174

    Re: Asynchronous Web Services

    Κοιτάξτε επίσης και το Asynchronous Invocation Application Block for .NET (http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnpag/html/PAIBlock.asp). Σύμφωνα με την περίγραφή:

    Microsoft .NET Framework class library that allows you to increase the performance of your Web application and enhance the end users' experience. The block manages requests from multiple sources for information from a client, dispatches Service Agents to communicate with each service provider (database, web service, etc.), and as the requested information becomes available, it is sent to the client for display. In this manner, a partially completed page is ready for viewing even before all requested information becomes available. The end user perceives a faster application, and server resources are freed much more quickly than in a conventional synchronous scenario.


    Παναγιώτης Καναβός, Freelancer
    Twitter: http://www.twitter.com/pkanavos
Προβολή Τροφοδοσίας RSS με μορφή XML
Με χρήση του Community Server (Commercial Edition), από την Telligent Systems