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

C# Discussion :

[DLL] Chargement abusif de dotnet quand une dll est utilisée plusieurs fois


Sujet :

C#

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    1 002
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 1 002
    Points : 552
    Points
    552
    Par défaut [DLL] Chargement abusif de dotnet quand une dll est utilisée plusieurs fois
    Bonjour,

    c'est normal le framework pour deux applications qui utilisent une meme librairie, charge deux fois en memoire cette meme librairie !???


    ou y a t'il des astuces pour eviter cela (linker / static )

    merci

  2. #2
    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 749
    Points
    39 749
    Par défaut
    Sauf erreur de ma part, les assemblies sont chargés pour un application domain donné. Donc 2 applis -> 2 app domains -> 2 chargements des assemblies

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    1 002
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 1 002
    Points : 552
    Points
    552
    Par défaut
    c'est en effet ce qu'il a l'air de se passer

  4. #4
    Rédacteur
    Avatar de SaumonAgile
    Homme Profil pro
    Team leader
    Inscrit en
    Avril 2007
    Messages
    4 028
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Team leader
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2007
    Messages : 4 028
    Points : 6 334
    Points
    6 334
    Par défaut
    Au lieu de pester contre ce fonctionnement, t'es tu posé la question de savoir pourquoi c'est conçu comme ça ?

    Le fait de charger plusieurs copies en mémoire permet de sécuriser le fonctionnement. Je rappelle au passage que la sécurité du code est la base du framework, le mécanisme qui te pose problème en fait partie intégrante.
    Besoin d'un MessageBox amélioré ? InformationBox pour .NET 1.1, 2.0, 3.0, 3.5, 4.0 sous license Apache 2.0.

    Bonnes pratiques pour les accès aux données
    Débogage efficace en .NET
    LINQ to Objects : l'envers du décor

    Mon profil LinkedIn - MCT - MCPD WinForms - MCTS Applications Distribuées - MCTS WCF - MCTS WCF 4.0 - MCTS SQL Server 2008, Database Development - Mon blog - Twitter

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    1 002
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 1 002
    Points : 552
    Points
    552
    Par défaut
    SaumonAgile

    euh... ba en fait jsuis issu du monde unix et je ne savais pas que le linkage des lib posé un réel souci...

    maintenant ... évidement que je me pose la question d'un tel comportement !


    je cherche aussi à savoir si y a moyen de l'éviter...


    je suppose que je ne suis pas le seul a trouver ce comportement etrange , à mon boulot on est deja 3 a se la poser


    je ne voulais sincèrement pas avoir l'air de pester "pester"... désolé

    et merci pour vos explications à tout les deux !

  6. #6
    Rédacteur
    Avatar de SaumonAgile
    Homme Profil pro
    Team leader
    Inscrit en
    Avril 2007
    Messages
    4 028
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Team leader
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2007
    Messages : 4 028
    Points : 6 334
    Points
    6 334
    Par défaut
    C'est le qui laisse penser que tu pestes
    Sinon pour en revenir au sujet, le fait que l'on charge une copie par appdomain est indispensable. En fonction de l'appdomain, une même bibliothèque peut ne pas avoir les mêmes droits d'exécution.

    Tout ce système est regroupé sous l'appellation CAS : Code Access Security.
    Besoin d'un MessageBox amélioré ? InformationBox pour .NET 1.1, 2.0, 3.0, 3.5, 4.0 sous license Apache 2.0.

    Bonnes pratiques pour les accès aux données
    Débogage efficace en .NET
    LINQ to Objects : l'envers du décor

    Mon profil LinkedIn - MCT - MCPD WinForms - MCTS Applications Distribuées - MCTS WCF - MCTS WCF 4.0 - MCTS SQL Server 2008, Database Development - Mon blog - Twitter

Discussions similaires

  1. Réponses: 1
    Dernier message: 01/12/2008, 13h39
  2. [DLL MFC] Plantage et débugage d'une DLL
    Par basnifo dans le forum Visual C++
    Réponses: 13
    Dernier message: 15/09/2008, 09h13
  3. Réponses: 3
    Dernier message: 03/09/2008, 15h09
  4. FOP sous DotNet ? existe une DLL pour ça ? !
    Par tarekos dans le forum Général Dotnet
    Réponses: 6
    Dernier message: 31/07/2008, 13h51
  5. Vérifier qu'une Dll soit de type Dotnet
    Par leo2v2o dans le forum C#
    Réponses: 2
    Dernier message: 23/01/2008, 17h30

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