begin process at 2012 05 28 00:03:11
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive ASP & ASP.NET

 > 

Archives ASP & ASP.NET

 > 

ASP.net

 > 

File d'attente


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

File d'attente

vendredi 18 mars 2005 à 19:36:59 | File d'attente

zehighglandeur

Bien le bonjour :)

Hem, alors voila, je vais essayer d'expliquer clairement mon problème. Dans le cadre des projets industriels que tout élève a à réaliser dans mon école, il m'est incombé, a mon binôme et à moi, la tâche de réaliser une application de visualisations d'emploi du temps en Asp .Net pour une boite de programmes d'optimisation.
 
Bon, l'affichage de l'emploi du temps, c'est fait, la partie moteur de calcul aussi (de toute facon, c'est entierement c#, donc cela ne concerne pas mon probleme ^^) mais il me reste un probleme, c'est la gestion des acces concurrents. En effet, je suis censé disposer de plusieurs serveurs de calculs, donc le serveur web sert a centraliser les requetes et resultats, et redirige les clients connectés vers les serveurs, ou les place en file d'attente si il n'y a plus de place. Et c'est justement cette file d'attente qui me pose probleme.

Dans la version Java a laquelle j'ai eu acces, j'ai vu que sur le serveur, il existait une application qui recuperait les requetes du client sur la page jsp et les placait en file d'attente le cas echéant. Le probleme, c'est qu'au niveau de l'ASP .net (et la, je vais voir si je suis une quiche en programmation ou pas :D) c'est qu'il me semble qu'une instance de l'application Web est crée a chaque fois qu'un client se connecte au serveur web. Ou alors je me trompe...

Je n'ai donc aucun moyen de gerer une file d'attente regroupant tous les clients sans passer par une application située sur le serveur Web, et recuperer des messages issus du code behind de l'app Web en passant par des Sockets ou autres grivoiseries du genre :/ Et ca m'inquiete un petit peu, tout ca, parce que moi, le C#, l'asp .net, j'apprends tout sur le tas sachant que j'ai fait que du java auparavant.

Donc ma question, au final, c'est "Est ce qu'il existe une gestion de file d'attente de clients en asp .net?" Difficile de faire plus court :)

Je vous prie d'etre indulgent avec ma manifeste inculture

Merci d'avance
vendredi 18 mars 2005 à 19:41:29 | Re : File d'attente

zehighglandeur

Je précise aussi que j'ai épluché la msdn et google et que j'ai rien trouvé qui me satisfasse

Mais je crois quand meme aux miracles
vendredi 18 mars 2005 à 22:24:30 | Re : File d'attente

jesusonline

Membre Club Administrateur CodeS-SourceS
oula, j'ai pas tout compris, et j'ai pas envie de chercher à comprendre tout de suite, pas un vendredi soir

Moi je te propose une autre solution, apparement tu connais Java, as tu le droit de t'en servir ? si oui t'as finit ton problème (reste plus qu'a coder )

donc tu fais un service web en java qui te fais ce que tu veux, ensuite tu fais un appel à ce service web avec asp.net.

Les services web est un standard du W3C donc tu peux en faire en java, et c'est la meilleure facon de faire cohabiter deux langages.

Sinon, non il n'y a pas une instance de l'application  chaque requete, mais c'est une instance de la page qui est créer à chaque requete, une instance dans l'application est fermé 10 min aprés la fin de la derniere session (qui se termine 20min aprés la derniere requete d'un client) (valeurs par défaut)

j'espere que j'ai répondu à peu prés à ton problème, sinon je relirais ce que tu nous dit. Parce que une gestion de file d'attente, je vois pas ce que tu veux faire par la, tout ce qui est file d'attente etc... laisse asp.net/IIS/SQL server s'en occupait c'est lors boulot :P (apres tu peux faire des appels asynchrone t'amuser avec des threads, mais la c'est limite de l'asp.net )

++


Cyril - MCP ASP.net
Webmaster de : Hoshimi.CodeS-SourceS.fr
vendredi 18 mars 2005 à 22:31:41 | Re : File d'attente

zehighglandeur

Bein le cahier des charges stipule que ce soit du 100% .Net, sinon, ca serait deja moins compliqué

La gestion de file d'attente, c'est pour pouvoir mettre les clients en statut idle en attendant qu'un serveur de calcul se libere. Ca irait plus vite à expliquer avec un schéma, en fait...

Par contre si tu me dis que IIS gere les files d'attentes, je vais regarder ca d'un peu plus pres, alors...

Merci, et je tiens au courant si j'ai du nouveau ^^
vendredi 18 mars 2005 à 22:41:57 | Re : File d'attente

jesusonline

Membre Club Administrateur CodeS-SourceS
Je viens de relire ton premier post.

Ton problème, c'est que si tu peux pas traiter la demande, tu mettes le client en attente ? est-ce bien ca ?

En gros tu as 10 serveurs pour faire tes calculs, tu met 3 sec pour faire tes calcules.

En 3 sec tu as eu 15 clients, donc 5 clients ne peuvent pas faire les calculs, t'aimerais donc que les 5 derniers clients reviennent dans quelques seconde le temps qu'il y a un serveur de libre ?

Si c'est ca, non IIS ne le permet pas (ou peut etre mais je sais pas comment configurer le bazar) mais tu peux aisement faire ca avec les variables application et le global.asax.

Tu peux me donner quelques précisions sur le type de calculs ?


Cyril - MCP ASP.net
Webmaster de : Hoshimi.CodeS-SourceS.fr
samedi 19 mars 2005 à 09:51:32 | Re : File d'attente

zehighglandeur

C'est exactement ca :)

Le type de calcul, bein, en gros, on part d'un fichier de données contenant des employés et des tâches a effectuer, d'un fichier de programme comprenant l'algorithme de traitement de ces données, et on sort un fichier solution ou chaque tâche est assignée a un employé. Bon, recuperer ces données sur le serveur web, apres, ca, ca va. Les calculs, faut compter, disons... 25-30 secondes si le fichier de données est pas trop volumineux.

Donc oui, il faut que je mette en attente les 5 clients arrivés apres, et que je les rebalance sur un serveur dès qu'il se libere.

Si je crée une Queue dans mon code-behind, ca va etre la même pour tous les connectés, ou elle sera recrée pour chaque client?
samedi 19 mars 2005 à 16:25:09 | Re : File d'attente

jesusonline

Membre Club Administrateur CodeS-SourceS
Si tout tes serveurs tourne sous IIS, je sais qu'il existe pour windows server 2003 un systeme de repartiteur de charge, je ne sais pas comment il fonctionne, je sais juste qu'il existe, regarde peut etre de ce coté si ca peut t'aider.

Sinon c'est assez simple.

En gros dans le global.asax  tu as une méthode déclenché au début de chaque requete :

private sub beginrequest(blablabla)

for each s as string in Application("ServeurLibre").split("|")
response.redirect("boulot.aspx?serveur="& s)
next
response.redirect("attend.aspx")

end sub

dans la page boulot.aspx tu peux faire

new thread(goboulot(request.querystring("serveur")))
application("serveurlibre") = application("serveurlibre").split("|").remove(request.querystring("serveur")).join("|")

lol, le code est carrement faut, mais c'est pour te donner une idée, faut évidement bosser tout ca ;)

le dictionnaire Application est le meme pour toutes les requetes, donc tu peux stocker tes variables la dedans et les retrouver quand tu veux. Attention tout de meme, car la variable application est perdus 10 minutes aprés la fin de la derniere session, soit 30 minutes aprés la derniere requete.

Quand l'application se relance, l'evenement application_start du global.asax est appellé.

Voila en gros ce que je te conseil de faire, bien sur il y a un peu de boulot, mais bon rien de birn compliqué :)



Cyril - MCP ASP.net
Webmaster de : Hoshimi.CodeS-SourceS.fr
dimanche 20 mars 2005 à 18:25:14 | Re : File d'attente

zehighglandeur

Ok ok...

Bein merci bien, j'ai plus qu'a potasser tout ca :)


Cette discussion est classée dans : asp, web, application, file, attente


Répondre à ce message

Sujets en rapport avec ce message

Création d'une Application Web ASP.NET [ par zerrocool ] Bonjour,Il me reste 10 jours pour terminer une application web ASP.NET alors que je viens de débuter dans ce langage de programmation.Ce dernier consi Création d'une Application Web ASP.NET [ par zerrocool ] Bonjour,Il me reste 10 jours pour terminer une application web ASP.NET alors que je viens de débuter dans ce langage de programmation.Ce dernier consi developpement d'une application web avec asp.net [ par sousoujda ] salut tt le monde je ss une debutante dans le monde de asp.net je developpe une application Web et j'aimerai bien que vs me donniez quelques astuces p Problème de timeout ? [ par gabiset ] Bonjour, J'ai développé une application web en ASP.Net 2 via Visual Studio 2005 Pro. Sur ce site web, j'ai une requête qui dure longtemps, et qui ex je ne retrouve pas Application Web ASP.NET dans Visual Studio 2005 [ par jeanny ] j'ai installé Visual Studio 2005 mais je ne retrouve pas l'Application Web ASP.NET losque je veux creer un nouveau projet. Parcontre quand je fais  Ne ASP.NET Authentication [ par PSIMON78 ] Pardon de vous importuner...J'accède à des pages ASP.NET (framework 3.5) d'une appli. Web via une interface Logon.aspx (Form Authentification). Les co asp.net application web [ par raja29 ] Bonsoircomme je l'ai déjà dit je suis débutante en .net et je développe une application de gestion de compte d'utilisateurs, j'utilise visual studio 2 urgent :un plugin de détection de matériel pour une web application sous ASP. net [ par issamesisa ] Salut, Je suis entrain de réaliser une application web appelé "SCANNER RÉSEAU" dont l'administrateur scan les PC connecter au réseau local afin d'obt Authentification sur ASP.net [ par bendsiham ] Bonjour, je suis entrain de developper une application web securisée j'ai utilisé le web congig pour la securite tout marche bien mais ce qui me ge


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,468 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales