Nous avons un site d'archivage qui est une copie exacte du site «en direct» mais utilise un compte de service différent. J'ai construit une extension EditControlBlock qui redirige un utilisateur vers une page dans le dossier _layouts. La page contient du texte et un bouton OK.Impossible d'utiliser SPWeb, la connexion à la base de données a échoué
Modifier: Le SPWeb que j'essaie d'utiliser est dans une application Web différente. J'essaie de déplacer le fichier x sur le site d'archivage.
Lorsque les boutons Ok est cliqué, il doit exécuter le code suivant:
using (var archive = new SPSite(archiveurl, SPContext.Current.Web.CurrentUser.UserToken))
{
using (var newsArchive = archive.RootWeb.Webs[SPContext.Current.Web.Name])
{
//move file
}
}
La chose étrange est, il se casse la ligne 2: using (var newsArchive = archive.RootWeb.Webs[SPContext.Current.Web.Name])
Ce qui est bizarre, parce que la première ligne fonctionne. L'erreur que je reçois est:
login failed for user x on database y
quelqu'un a une idée ici? Le code d'une page dérivée de LayoutsPageBase
s'exécute-t-il toujours en tant que compte Apppool de l'application Web ou quelque chose?
Pourquoi utiliser SPSite lorsque vous pouvez utiliser SPContext.Current.Web & Site? – Kusek
Parce que le SPWeb que j'essaie d'utiliser est dans une autre WebApplication. J'essaie de déplacer le fichier x sur le site d'archivage. – Colin