2010-12-01 49 views
2

D'abord, laissez-moi vous dire ce que je tente d'accomplir. Je voudrais informer le (s) utilisateur (s) de mon application Web si des modifications sont apportées à un document sur lequel ils travaillent actuellement. J'ai l'intention d'utiliser un long sondage pour atteindre les résultats souhaités. Lorsque j'envoie une requête à la longue page d'interrogation (qui interroge et dort environ 250 ms entre les itérations jusqu'à expiration d'un délai) et tente de charger simultanément une autre page sur mon site Web, la deuxième requête est mise en file d'attente jusqu'à la fin. Y-a t'il une solution à ce problème? Avant l'heure, l'utilisation d'un Web Garden ou de toute forme de gestion de session que InProc n'est pas acceptable dans cette situation. Merci à tous pour votre aide.Demande ASP.NET simultanée utilisant la gestion de session InProc

Répondre

1

Il s'agit probablement de la synchronisation de session qui entraîne la gestion séquentielle des demandes. Si vous pouvez changer votre gestionnaire de longue interrogation pour ne pas être conscient de la session, alors il devrait résoudre le problème.

Vous ne dites pas ce que la cible est, mais si elle est un .ashx ou la coutume IHttpHandler qui ne met pas en oeuvre IRequiresSessionState alors la demande ne se fixe pas (ou synchroniser avec) la session. Bien sûr, cela signifie également que la demande d'interrogation longue n'aura pas accès à la session.

+0

Merci beaucoup pour votre aide, la solution a parfaitement fonctionné. Il semble que votre hypothèse était correcte. Les gestionnaires AJAX ont été implémentés en tant que fichiers .aspx standard sans HTML interne. Si j'en ai l'occasion, j'essaierai aussi de prendre le temps de passer tous nos gestionnaires AJAX à des gestionnaires génériques ordinaires. Je suis sûr que je l'ai fait parce que je n'étais pas au courant de l'existence de IRequiresSessionState. Merci encore Sam. – mmaguigan