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

Services Web Discussion :

Nouvelle instance de service créée à chaque appel


Sujet :

Services Web

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Mai 2006
    Messages
    51
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 51
    Par défaut Nouvelle instance de service créée à chaque appel
    Bonjour,

    je réalise actuellement une application architecturée en couches comme ceci :
    - Présentation : page aspx + jQuery
    - Web Service : ASMX
    - Couche business
    - Couche d'accès aux données

    Jusque là, du très classique...

    Lors des interactions avec l'utilisateur, je lance des requêtes asynchrones sur ma couche service via jQuery. Les échanges se font au format JSON.

    Ma couche de Web Service est implémentée par une classe MonService :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
     
    ...
    public class MonService : WebService
    {
        private IBL _businessLayer = null;
        ...
        public MonService ()
        {
            logger.Debug("Nvelle instance de service créée");
            _businessLayer = IBL.Instance;
            ...
        }
        ...
        [WebMethod]
        public ObjetX GetObjetX (string param1)
        {
            return _businessLayer.GetObjetX (param1);
        }
    }
    et je fais mes appels au Web service en ajax via jQuery ainsi :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
            $.ajax({
                type: "POST",
                url: "Services/MonService.asmx/GetObjetX ",
                data: "{'param1' : 'toto'}",
                contentType: "application/json; charset=utf-8",
                dataType: "json"
            });
    L'appel au service se fait sans encombres. De ce côté là, tout est opérationnel. Mon problème est le suivant : à chaque appel d'une méthode de la couche de services en Ajax, une nouvelle instance de la couche de service, est créée... (pas les autres couches, car implémentées selon le design pattern singleton).

    J'aimerai que la couche service se comporte comme un singleton, et éviter ainsi l'instanciation de ma classe de service autant de fois que d'appel de service... car niveau performance, je ne pense pas vraiment que ce soit optimal... Quelqun pourrait-il me renseigner ? merci

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2010
    Messages : 12
    Par défaut
    Si tu travailles dans Visual Studio, tu peux ajouter un nouvel élément à ton application : une classe d'application globale.

    Elle est composée de deux parties :
    Global.asax et Global.asax.cs

    Elle contient ces méthodes là :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    protected void Application_Start(object sender, EventArgs e)
            protected void Session_Start(object sender, EventArgs e)
            protected void Application_BeginRequest(object sender, EventArgs e)
            protected void Application_AuthenticateRequest(object sender, EventArgs e)
            protected void Application_Error(object sender, EventArgs e)
            protected void Session_End(object sender, EventArgs e)
            protected void Application_End(object sender, EventArgs e)
    J'imagine qu'en instanciant ta classe dans la méthode Application_Start, elle ne le sera qu'une seule fois

Discussions similaires

  1. Appel de méthode sur une nouvelle instance
    Par Ghurdyl dans le forum Langage
    Réponses: 2
    Dernier message: 28/11/2010, 16h46
  2. Réponses: 11
    Dernier message: 21/01/2009, 15h55
  3. Multiple instance de service Windows
    Par zubov dans le forum Windows Forms
    Réponses: 1
    Dernier message: 30/01/2007, 09h22
  4. nouvelle instance sur un serveur oracle 10g
    Par jpspci dans le forum Oracle
    Réponses: 2
    Dernier message: 24/01/2007, 15h35
  5. Perl.exe crash à chaque appel
    Par Fabien Celaia dans le forum Langage
    Réponses: 4
    Dernier message: 07/06/2006, 08h56

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