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

Développement Sharepoint .NET Discussion :

SharePoint 2010 : Une Webpart avec Entity Framework


Sujet :

Développement Sharepoint .NET

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Février 2009
    Messages
    163
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 163
    Points : 120
    Points
    120
    Par défaut SharePoint 2010 : Une Webpart avec Entity Framework
    Bonjour à tous,

    Dans une webpart, j’aimerais pouvoir utiliser un ADO.net Entity Model pour afficher les données provenant d’une base externe à SharePoint stocké sur un serveur SQL Server 2008 R2.

    Le problème, c’est qu’à l’exécution de ma WebPart, le crash est systématique.
    J’ai lu que le Web.config (contenant la connexion string de l’Entity Model), n’est pas pris en compte et qu’il fallait utiliser un SPWebConfigModification pour ajouter à l’exécution la chaine de connexion au Web.config principal de Sharepoint…

    La difficulté est que SPWebConfigModification n’est que très peu documenté, j’ai trouvé certains tutos :

    http://msdn.microsoft.com/fr-fr/library/bb861909.aspx
    http://geekswithblogs.net/kjones/arc...11/129342.aspx
    http://blogs.devhorizon.com/reza/?p=459

    mais je n’arrive pas à faire fonctionner les techniques utilisées :

    Code C# : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    SPWebApplication webApp = SPWebApplication.Lookup(new Uri("JE METS QUOI ICI?????????"));
    SPWebConfigModification mod = new SPWebConfigModification("add[@name=\"MyConnectionString\"]", "configuration/connectionStrings");
    mod.Owner ="JE METS QUOI ICI ??????????";
    mod.Type = SPWebConfigModification.SPWebConfigModificationType.EnsureChildNode;
    mod.Value = String.Format("JE METS QUOI ICI ?????????");
    webApp.WebConfigModifications.Add(mod);
    webApp.Update();
    webApp.Farm.Services.GetValue<spwebservice></spwebservice>().ApplyWebConfigModifications(); <== c'est quoi ça ?


    Bref, je suis pommé , si quelqu’un à une idée, je prends.


    Merci d’avance pour votre aide.

  2. #2
    Membre du Club
    Inscrit en
    Février 2011
    Messages
    41
    Détails du profil
    Informations forums :
    Inscription : Février 2011
    Messages : 41
    Points : 62
    Points
    62
    Par défaut
    Bonjour,

    Attention :
    J’ai lu que le Web.config (contenant la connexion string de l’Entity Model), n’est pas pris en compte et qu’il fallait utiliser un SPWebConfigModification pour ajouter à l’exécution la chaine de connexion au Web.config principal de Sharepoint…
    Ceci est incorrect

    SharePoint repose sur asp.net, et donc le web.config est bien utilisé en temps réel par SharePoint.

    SPWebConfigModification ne sert qu'à rajouter de façon automatique tes paramétrages dans les web.config lors d'une installation.
    Celà vient uniquement dans un second temps.

    La première étape c'est de faire fonctionner ta page en rentrant manuellement tes modifs dans le web.config.
    Le web.config tu le trouves dans le site IIS de ta webapplication.
    En général :
    C:\Inetpub\wwwroot\wss\VirtualDirectories\...

    Pour être sur que tu es sur le bon web.config, met n'importe quoi dedans pour vérifier que ça fait bien planter toutes tes pages

    Et pour finir, un petit lien :
    http://msdn.microsoft.com/en-us/library/gg552610.aspx

  3. #3
    Expert confirmé Avatar de Lapinpanda
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juin 2009
    Messages
    3 230
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Juin 2009
    Messages : 3 230
    Points : 4 913
    Points
    4 913
    Par défaut
    Il ya de nombreux web.config sur SharePoint, faut pas se tromper, et surtout faire un backup du fichier avant tte modification

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Février 2009
    Messages
    163
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 163
    Points : 120
    Points
    120
    Par défaut
    Citation Envoyé par sylvain.reverdy Voir le message
    SharePoint repose sur asp.net, et donc le web.config est bien utilisé en temps réel par SharePoint.
    Je parle du Web.config généré dans la solution de la WebPart pas de celui de sharepoint.

    Citation Envoyé par sylvain.reverdy Voir le message
    La première étape c'est de faire fonctionner ta page en rentrant manuellement tes modifs dans le web.config.
    Le web.config tu le trouves dans le site IIS de ta webapplication.
    En général :
    C:\Inetpub\wwwroot\wss\VirtualDirectories\...
    J'avais saisi l'astuce, mais je cherche ici une manière viable de poursuivre la chose, car ça va bien pour une connexionString : 1 ligne dans le webconfig, mais pour des DLL tierces : il faut rajouter des tas d'entrées dans le webconfig, je cherche donc une manière plus viable.

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 7
    Points : 7
    Points
    7
    Par défaut
    Citation Envoyé par nicopulse Voir le message
    Je parle du Web.config généré dans la solution de la WebPart pas de celui de sharepoint.



    J'avais saisi l'astuce, mais je cherche ici une manière viable de poursuivre la chose, car ça va bien pour une connexionString : 1 ligne dans le webconfig, mais pour des DLL tierces : il faut rajouter des tas d'entrées dans le webconfig, je cherche donc une manière plus viable.

    Si je ne dis pas de bêtise, lorque que tu déploies une solution (.wsp) tes références de dll sont automatiquement ajouté au web.config grâce au fichier webmanifest que tu as dans ton package.
    Donc si tu inclues tes dll tierces dans ton package, leurs références seront ajoutées au web.config.

  6. #6
    Membre chevronné
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    1 486
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 486
    Points : 2 082
    Points
    2 082
    Par défaut
    Salut,

    Utilise un event receiver sur l'activation de la feature, avec le bon vieux ConfigurationManager (System.Configuration) pour ajouter ce que tu veux au web.config.

    On s'appuie sur l'objet properties passé en paramètre du receiver pour ne pas se tromper de webapp et éviter ainsi de polluer d'autres fichiers config.

Discussions similaires

  1. Doublons dans le résultat d'une requête avec Entity Framework
    Par tobus2012 dans le forum Entity Framework
    Réponses: 9
    Dernier message: 05/07/2014, 01h33
  2. Deploiement d'une application winform c# avec entity framework
    Par devvanjier dans le forum Windows Forms
    Réponses: 3
    Dernier message: 25/03/2013, 20h47
  3. Faire une Enum avec Entity Framework First Code 4.1
    Par john85 dans le forum ASP.NET MVC
    Réponses: 5
    Dernier message: 05/05/2011, 16h01
  4. déployer une appli avec entity framework
    Par cyril53 dans le forum ASP.NET
    Réponses: 2
    Dernier message: 20/03/2011, 12h13
  5. [SP-2010] Récupérer l'auteur avec Entity Framework
    Par Baptiste Wicht dans le forum Développement Sharepoint
    Réponses: 4
    Dernier message: 22/02/2011, 21h54

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