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 :

Problème d'accés à un serveur SharePoint à distance


Sujet :

Développement Sharepoint .NET

  1. #21
    Nouveau membre du Club
    Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2010
    Messages
    48
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Septembre 2010
    Messages : 48
    Points : 28
    Points
    28
    Par défaut
    j'ai donc essayé avec :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var token = SPContext.Current.Site.RootWeb.EnsureUser("UserName").UserToken;
    mais il me fait une erreure :

    La référence d'objet n'est pas définie à une instance d'un objet.
    Je pense que c'est une solution qui vaux le détour, je vais plancher dessus aujourd'hui.

    à plus tard

  2. #22
    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
    La référence d'objet n'est pas définie à une instance d'un objet
    Si tu passe par le SPCOntext a cet endroit et que tu as cette erreur, c'est que ton contexte est nul. Tu dois passer par un autre objet

  3. #23
    Nouveau membre du Club
    Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2010
    Messages
    48
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Septembre 2010
    Messages : 48
    Points : 28
    Points
    28
    Par défaut
    oui c'est logique,

    de toute façon utiliser un ".current" alors que j'ai pas encore définit de site ou quoi que ce soit avant ça parait gros quand même ^^

    je suis sur une autre piste

  4. #24
    Nouveau membre du Club
    Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2010
    Messages
    48
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Septembre 2010
    Messages : 48
    Points : 28
    Points
    28
    Par défaut
    j'ai encore essayé un million de testes qui serai trop long à écrire basés sur :

    => droit dans sharepoint
    => droit dans l'application
    => droit dans le web.conf
    => impersonnalisation de l'authentification
    => augmentation des privilèges sharepoint
    => tout cumulé
    => boire beaucoup de café
    => une bonne nuit de sommeil

    rien ne marche

    je sais plus quoi faire

    je vois pas mal de personne sur le net où ça fonctionne sans problèmes.

    C'est incompréhensible.

  5. #25
    Nouveau membre du Club
    Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2010
    Messages
    48
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Septembre 2010
    Messages : 48
    Points : 28
    Points
    28
    Par défaut
    bon je viens de comprendre pourquoi j'ai pas accès a "Rootweb" de "SPsite"
    et d'où vien le Current.

    en faite c'est simple je suis sur un projet ASP.NET qui à sont propre site, pas dans un développement de WebPart intégré à sharepoint.

    le code pour l'impersonnalisation comme :
    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
     
    Guid webGuid = SPContext.Current.Web.ID;
    Guid siteGuid = SPContext.Current.Site.ID;
    SPSecurity.RunWithElevatedPrivileges(delegate()
    {
    // Context du site dans le RunWithElevatedPrivileges
         using (SPSite site = new SPSite(siteGuid))
         {
    // Context du webdans le RunWithElevatedPrivileges
              using (SPWeb web = site.OpenWeb(webGuid))
              {
    // ...
              }
        }
    });
    le "current" prend tout son sens lorsque le code est exécuté sur une page intégré dans sharepoint

    par contre dans mon cas l'objet est effectivement pas pas référencé, Et effectivement ça ne risque pas de fonctionner.

    C'est pas pour autant que j'ai résolu mon problème, mais je tien à le préciser pour ceux qui chercheront pourquoi ça fonctionne pas ^^

  6. #26
    Nouveau membre du Club
    Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2010
    Messages
    48
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Septembre 2010
    Messages : 48
    Points : 28
    Points
    28
    Par défaut Lundi matin
    lundi matin, petit café, les souvenir du vendredi revienne ...

    bon j'ai pas avancé plus.

    je fait un petit bilan.

    je cherche 2 solution :

    => comment accèdes à un répertoire réseau virtuel depuis un serveur 2003.
    ou
    => comment accèdes à sharepoint depuis un code ASP exécuté sur le même IIS que le serveur sharepoint, mais dans des sites différents.
    si quelqu'un à une idée elle est la bien venu.

    Mes autres solutions sont :

    => de faire un service windows qui lorsqu'un fichier est mis dans le répertoire il le copie dans sharepoint. ( ça marche en winform donc ça marchera, mais je trouve ça pas top.)

    => de faire un .Bat qui exécute mon winform qui copie tous les fichiers du répertoire de Uploads dans sharepoint toutes les heures. (je trouve ça encore moin top.)

  7. #27
    Nouveau membre du Club
    Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2010
    Messages
    48
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Septembre 2010
    Messages : 48
    Points : 28
    Points
    28
    Par défaut lundi soir
    bon je me suis pencher sur la solution du lecteur réseau virtuel.

    je me suis dit : mon problème c'est d'accéder à un lecteur réseau virtuel d'un serveur depuis ce serveur.

    et là j'ai penser : une page web exécute du code à distance ( JavaScript ) par l'utilisateur qui utilise le code (encore mieux).

    je m'explique :

    ma solution d'avan était de télécharger le fichier de l'utilisateur sur le serveur dans un dossier puis je de l'enregistrer sur sharepoint.

    En c# j'ai essayé de l'enregistrer directement dans sharepoint pendant l'exécution du téléchargement sans succès, donc j'ai abandonné cette piste.

    Maintenant je copie directement le fichier du client dans sharepoint avec le répertoire virtuel réseau accessible par les utilisateurs.

    le code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    var fso = new ActiveXObject("Scripting.FileSystemObject");
             var ts = fso.CopyFile("chemin sur le pc client" + filename, "\\\\VVVVV\\XXXXX\\YYYYY\\ZZZZZ\\" + filename, true);
    ... comme on peut le voir c'est court, mais on ce rend pas encore compte à quelle point.

    ces 2 ligne de code remplace :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    1 page CSS
    1 page aspx
    300 lignes de javascript
    2 dll sharepoint (10Mo)
    500 ligne de C#
    je vais expliquer pourquoi :

    pour évité de recharger ma page lorsque je télécharger un fichier je devais exécuter une quantité astronomique de code passer par de l'AJAX, et pendant la phase de téléchargement afficher un CSS. de plus pour transférer mon fichier dans sharepoint les accès avec sharepoint était immensément long.

    maintenant avec ces 2 ligne tout est très simple. Par contre cette solution est possible car je suis dans un domaine, si mes utilisateurs n'ont pas accès a sharepoint ça marche pas ce qui parai logique pour mon utilisation.

    Le poste est résolu pour de bon même si je répond pas vraiment à l'énoncé du début qui était :

    comment accéder à sharepoint depuis une page ASP.net qui ne fait pas parti de sharepoint mais sur le même IIS dans un site séparé.
    merci à tous et à bientôt ( si quelqu'un trouve une réponse à la vrai énoncer il peut la poster ça m'intéresse quand même)


+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 2 PremièrePremière 12

Discussions similaires

  1. Problème d'accès à mon serveur web à distance
    Par volsan dans le forum Administration
    Réponses: 12
    Dernier message: 17/06/2014, 04h12
  2. Accés à un serveur SharePoint à distance
    Par Magicmodjo dans le forum SharePoint
    Réponses: 5
    Dernier message: 19/11/2008, 14h50
  3. problème d'accès aux serveurs POP
    Par sami_c dans le forum Windows XP
    Réponses: 4
    Dernier message: 08/02/2007, 11h02
  4. Problème d'accès au serveur
    Par icemaker2 dans le forum XMLRAD
    Réponses: 2
    Dernier message: 07/12/2006, 11h49
  5. [Réseaux]Problème d'accès à un serveur
    Par Dnx dans le forum Administration
    Réponses: 2
    Dernier message: 08/11/2005, 17h29

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