IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

ASP.NET Discussion :

Application ASP.Net qui ne s'arrête jamais


Sujet :

ASP.NET

  1. #1
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 380
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 380
    Points : 41 576
    Points
    41 576
    Par défaut Application ASP.Net qui ne s'arrête jamais
    Salut,
    Dans mon site Web, j'ai une variable d'application qui met 30 secondes à se charger en base de données.

    Par conséquent, j'aimerais que le site arrête de se couper automatiquement quand il n'y a pas de connexion pendant un certain temps...

    J'ai tout essayé, mais ça a l'air d'empirer les choses... Quelle est la méthode "officielle" pour ça?

  2. #2
    Rédacteur
    Avatar de The_badger_man
    Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2005
    Messages
    2 745
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 745
    Points : 8 538
    Points
    8 538
    Par défaut
    Qu'entends tu par "que le site arrête de se couper automatiquement" ?
    Le client perd la connection au site ou tu as un timeout provenant de ta requête à la base ?

  3. #3
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 753
    Points
    39 753
    Par défaut
    Citation Envoyé par The_badger_man Voir le message
    Qu'entends tu par "que le site arrête de se couper automatiquement" ?
    Le client perd la connection au site ou tu as un timeout provenant de ta requête à la base ?
    Je pense qu'il veut dire "éviter que l'application ne se décharge au bout d'un certain temps d'inactivité"... si c'est ça, la réponse m'intéresse aussi

  4. #4
    Membre expert
    Avatar de Pongten
    Homme Profil pro
    IT Analyst & Software Developer
    Inscrit en
    Juin 2002
    Messages
    1 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : IT Analyst & Software Developer
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Juin 2002
    Messages : 1 173
    Points : 3 543
    Points
    3 543
    Par défaut
    Ceci répond mais je ne sais pas si c'est la meilleure façon de faire :

    http://www.west-wind.com/WebLog/posts/67557.aspx

  5. #5
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 380
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 380
    Points : 41 576
    Points
    41 576
    Par défaut
    C'est bien ce que je veux faire, mais en effet ça ressemble à un hack...

  6. #6
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 753
    Points
    39 753
    Par défaut
    Citation Envoyé par Pongten Voir le message
    Ceci réponde mais je ne sais pas si c'est la meilleure façon de faire :

    http://www.west-wind.com/WebLog/posts/67557.aspx
    Effectivement ça me parait bien compliqué pour faire quelque chose d'aussi simple
    Y a pas un simple paramètre de configuration ??

  7. #7
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 380
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 380
    Points : 41 576
    Points
    41 576
    Par défaut
    Eh bien, j'ai cherché, et j'en ai trouvé pas mal... Mais même quand je les désactive tous, ça ne marche pas, voire ça empire.

  8. #8
    Membre expert
    Avatar de Pongten
    Homme Profil pro
    IT Analyst & Software Developer
    Inscrit en
    Juin 2002
    Messages
    1 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : IT Analyst & Software Developer
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Juin 2002
    Messages : 1 173
    Points : 3 543
    Points
    3 543
    Par défaut
    Et si, au niveau du pool d'application de votre site vous désactivez le délai d'inactivité et le recyclage, ça ne fonctionne pas comme vous le souhaitez ?

  9. #9
    Membre actif
    Inscrit en
    Janvier 2005
    Messages
    218
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 218
    Points : 247
    Points
    247
    Par défaut
    Et si tu mettais ta variable d'application dans un cache fichier au lieu de la mettre en cache mémoire ?!!

  10. #10
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 753
    Points
    39 753
    Par défaut
    Citation Envoyé par Pongten Voir le message
    Et si, au niveau du pool d'application de votre site vous désactivez le délai d'inactivité et le recyclage, ça ne fonctionne pas comme vous le souhaitez ?
    Pas mal, j'avais pas vu cette option... je vais essayer ça
    Merci

  11. #11
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 380
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 380
    Points : 41 576
    Points
    41 576
    Par défaut
    Citation Envoyé par Pongten Voir le message
    Et si, au niveau du pool d'application de votre site vous désactivez le délai d'inactivité et le recyclage, ça ne fonctionne pas comme vous le souhaitez ?
    C'est pratiquement par ça que j'ai commencé, mais ça ne marche pas pour autant.
    J'ai pourtant décoché toutes les cases sur le recyclage et le délai d'inactivité...

  12. #12
    Expert éminent
    Avatar de Immobilis
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    6 559
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 559
    Points : 9 512
    Points
    9 512
    Par défaut
    Citation Envoyé par Akanath Voir le message
    Et si tu mettais ta variable d'application dans un cache fichier au lieu de la mettre en cache mémoire ?!!
    +1

    Ou un cache de base de données? Par exemple sauvegarder un page html en base si elle prend trop de temps à être générée.

    Il faut 30s parce qu'il faut du temps au serveur de base pour requeter les données ou pour IIS de les charger compte tenu du volume?

    A+

  13. #13
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 380
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 380
    Points : 41 576
    Points
    41 576
    Par défaut
    @Immobilis: J'ai du mal à comprendre ce que tu suggères, là: Sauvegarder en base de données une variable qui est longue à charger depuis la base?

    D'ailleurs, je me suis mal exprimé sur le temps: Ce n'est pas 30 secondes, mais 90 (ou 1 mn 30, quoi).

    Cette variable d'application est nécessaire aux comparaisons que le webservice doit effectuer. Quant au temps, je pense que c'est dû un peu aux deux: Il s'agit d'une table de 16.5 millions de lignes, dont je récupère 4 millions grâce à un simple filtre d'égalité sur un champ numérique.

  14. #14
    Membre expérimenté Avatar de Arthis
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    1 265
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : Italie

    Informations forums :
    Inscription : Octobre 2003
    Messages : 1 265
    Points : 1 352
    Points
    1 352
    Par défaut
    petites soultions bricolos du mardi matin:

    1) rallonger la duree de vie de ta session si possible de facon a ce qu'il y ait toujours une perssone de connecté
    2) Effectuer un appel sur ton appli tous les x minutes de facon a rafraichir une session "fantome" sur ton serveur grace a une schedule task ou autre chose. x minutes etant le nombre de minutes que durera une session.

    Ca vaut pas grand chose comme idée, mais sinon, j avoue secher..

  15. #15
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 380
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 380
    Points : 41 576
    Points
    41 576
    Par défaut
    Ne t'inquiète pas, même sur les forums Microsoft ils sèchent.
    Apparemment, même en décochant toutes les options "Recycle", "Idle Time" et compagnie, il n'y a rien qui puisse "officiellement" rendre une application permanente...

  16. #16
    Expert éminent sénior

    Avatar de Philippe Vialatte
    Homme Profil pro
    Architecte technique
    Inscrit en
    Juillet 2004
    Messages
    3 029
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juillet 2004
    Messages : 3 029
    Points : 12 465
    Points
    12 465
    Par défaut
    Pour apporter mon caillou a la montagne...

    la solution de Rick Strahl est, de ce que je me rappelle, une des rares qui marche bien.

    Le mecanisme de dechargement des session n'est pas forcement lie a un pb de framework, j'ai deja eu le pb avec un antivirus qui, en passant sur le repertoire de l'appli web, declenche un recycle parce que la date de modif d'un fichier avait change...

    Apres, si tu veux que ta session en soit pas dechargee quand ton pool est recycle, tu peux aussi changer le mecanisme de gestion de session en stateserver plutot que InProc, ou deporter la gestion de ton cache dans un autre outil (genre les entlib en isolatedstorage, ce qui revient a un cache disque...)

  17. #17
    Membre expérimenté Avatar de Arthis
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    1 265
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : Italie

    Informations forums :
    Inscription : Octobre 2003
    Messages : 1 265
    Points : 1 352
    Points
    1 352
    Par défaut
    Je ne faisais reference a la session que pour "alimenter" l'application et ses variables, faire en sorte qu elle ne tombe pas.

    Pvialatte, pourrais tu nous mettre un lien vers cette solution de Rick Strahl dont tu parles. Je suis toujours curieux d'apprendre de nouvelles techniques la dessus...

  18. #18
    Expert éminent
    Avatar de Immobilis
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    6 559
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 559
    Points : 9 512
    Points
    9 512
    Par défaut
    Citation Envoyé par Médinoc Voir le message
    @Immobilis: J'ai du mal à comprendre ce que tu suggères, là: Sauvegarder en base de données une variable qui est longue à charger depuis la base?
    Citation Envoyé par Médinoc Voir le message
    Quant au temps, je pense que c'est dû un peu aux deux: Il s'agit d'une table de 16.5 millions de lignes, dont je récupère 4 millions grâce à un simple filtre d'égalité sur un champ numérique.
    Plutôt que de renouveller la requete à chaque fois, tu sauvegardes le resultat (les 4 millions d'enregistrements) dans un champs binaire, ou sous une table temporaire. Ainsi tu économises le scan.

    Le champ est-il indexé? Est-ce une procedure stockée? La table est-elle optimisée?
    d'égalité sur un champ numérique
    Est-ce un champ numérique correctement dimensionné? Un entier une clef n'a pas a être stockée sous la forme d'un décimal.

    4 millions d'enregistrements, c'est beaucoup. Est-ce que tous les enregistrements/champs sont nécessaire? Est-ce qu'il ne serait pas préférable de segmenter en plusieurs requetes précises.

    C'est pour quoi faire exactement?

    A+

  19. #19
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 380
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 380
    Points : 41 576
    Points
    41 576
    Par défaut
    J'ai changé la façon dont était indexée la table, permettant d'éviter le scan.
    La requette dure maintenant 30 secondes au lieu de 90, donc je ne pense pas pouvoir améliorer plus.
    Au passage, le champ est bien un entier. Par contre, on n'emploie pas de procédure stockée.

    Et oui, on a besoin des 4 millions d'enregistrement. C'est pour une comparaison visuelle de chaînes de caractères, et on utilise une table à double entrée de similarité visuelle pour les couples de caractères.

    Et puis, j'ai peut-être un autre moyen d'accélérer le chargement, sur lequel je travaille.

    Par contre, accélérer le chargement résoudra le problème, mais la prochaine fois que j'aurais un volume lourd de données à charger, je l'aurai à nouveau. C'est pour ça, j'aurais bien aimé quand même pouvoir "punaiser" une application ASP.Net...
    Mais apparemment, les gars de Micro$oft n'ont pas pensé que ce serait approprié.

  20. #20
    Membre expérimenté Avatar de Arthis
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    1 265
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : Italie

    Informations forums :
    Inscription : Octobre 2003
    Messages : 1 265
    Points : 1 352
    Points
    1 352
    Par défaut
    Petite question en passant. Les experts pourront surement me répondre, Ne serait il pas possible dans un cas comme le tien, d'avoir une application (console ou autre..) sur le seveur qui heberge l'information et qu'avec un webservice on interoge cette application. Faire de la communication interappli en fait...

    Windows Communication Foundation ne s'occupe t il pas de ce genre de probleme?

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Réponses: 3
    Dernier message: 12/08/2011, 03h45
  2. [Delphi.net]Structuration d'une application asp.net
    Par skywaukers dans le forum Delphi .NET
    Réponses: 7
    Dernier message: 28/12/2006, 11h50
  3. Réponses: 3
    Dernier message: 07/07/2006, 16h47
  4. Réponses: 8
    Dernier message: 18/08/2005, 18h42

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo