Wir verfügen über eine Archivwebsite, die eine exakte Kopie der "Live" -Site ist, aber ein anderes Dienstkonto verwendet. Ich habe eine EditControlBlock-Erweiterung erstellt, die einen Benutzer auf eine Seite im _layouts-Ordner umleitet. Die Seite hat etwas Text und eine Ok-Taste.SPWeb kann nicht verwendet werden, Datenbankanmeldung fehlgeschlagen
Bearbeiten: Das SPWeb, das ich versuche zu verwenden, ist in einer anderen WebApplication. Ich versuche, Datei x auf die Archiv-Website zu verschieben.
Wenn die OK-Taste angeklickt wird, sollte es den folgenden Code ausführen:
using (var archive = new SPSite(archiveurl, SPContext.Current.Web.CurrentUser.UserToken))
{
using (var newsArchive = archive.RootWeb.Webs[SPContext.Current.Web.Name])
{
//move file
}
}
Die seltsame Sache ist, es bricht auf der Linie 2: using (var newsArchive = archive.RootWeb.Webs[SPContext.Current.Web.Name])
Welche seltsam ist, weil die erste Zeile funktioniert. Der Fehler, den ich bekommen ist:
login failed for user x on database y
Wer hier eine Idee? Wird der Code auf einer Seite, die von LayoutsPageBase
abgeleitet ist, immer als App Apppool-Konto der App ausgeführt?
Warum Sie neue SPSite verwenden möchten, wenn Sie SPContext.Current.Web & Site verwenden können? – Kusek
Da das SPWeb, das ich verwenden möchte, in einer anderen Webanwendung ist. Ich versuche, Datei x auf die Archiv-Website zu verschieben. – Colin