On m'a demandé si nous pouvions éventuellement "single-instance" notre portail web. Voir this post on Hanselman's blog pour la même idée dans une application WinForms.Comment puis-je "isoler" un portail Web ASP.Net AJAX?
Supposons que nous ayons 2 raccourcis sur la même machine client:
http://MyServer/MyWebPortal/Default.aspx?user=username&document=Foo http://MyServer/MyWebPortal/Default.aspx?user=username&document=Bar
En cliquant sur le premier raccourci lancerait notre portail web, connectez-vous et afficher le document « Foo ». En cliquant sur le deuxième raccourci devrait afficher le document "Barre" dans l'instance en cours d'exécution du portail Web.
Mon approche actuelle est la suivante: Dans le chargement de la page, créez pour la première instance une variable d'application par client. La deuxième instance recherche la variable Application pour voir si le portail est en cours d'exécution sur le client. Si c'est le cas, la deuxième URL est enregistrée dans une autre variable Application et la seconde instance est forcée. J'ai essayé de créer un temporisateur ASP.Net AJAX pour interroger la variable d'application pour un document à afficher. Ce genre de travaux. Afin de répondre rapidement à la deuxième requête, j'ai réglé l'intervalle Timer à 2 secondes. Cela rend le portail irritant à cause des fréquentes publications. En utilisant mon approche, la seconde instance peut-elle indiquer à la première instance de vérifier la variable d'application sans interroger? Y a-t-il une meilleure approche globale de ce problème?
Merci à l'avance