Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Sandkastenlösungen sind ein Feature in Microsoft SharePoint 2010, mit dem Websitesammlungsbenutzer ihre eigenen benutzerdefinierten Codelösungen hochladen können. Eine gängige Sandkastenlösung besteht darin, dass Benutzer ihre eigenen Webparts hochladen.
Eine Sandkasten-SharePoint-Anwendung wird in einem sicheren, überwachten Prozess ausgeführt, der Zugriff auf einen begrenzten Teil der Webfarm hat. Microsoft SharePoint 2010 verwendet eine Kombination aus Features, Lösungskatalogen, Lösungsüberwachung und einem Validierungsframework, um Sandkastenlösungen zu ermöglichen.
Projektvertrauensstufe angeben
Visual Studio unterstützt Sandkastenlösungen über eine boolesche Projekteigenschaft namens Sandkastenlösung. Diese Eigenschaft kann jederzeit im Projekt festgelegt werden, oder sie kann beim Erstellen des Projekts im Assistenten zum Anpassen von SharePoint angegeben werden.
Hinweis
Das Ändern der Sandkastenlösungseigenschaft eines Projekts, nachdem es erstellt wurde, kann zu Überprüfungsfehlern führen.
Die Lösung wird als Farm-Lösung betrachtet, wenn die Sandboxed-Solution-Eigenschaft auf false festgelegt ist oder Sie die Option "Als Farmlösung bereitstellen" auswählen. Die Lösung wird jedoch anders behandelt als eine Farmlösung, wenn die Sandkastenlösungseigenschaft auf "true " festgelegt ist oder Sie die Option "Als Sandkastenlösung bereitstellen" im Assistenten auswählen.
SharePoint-Websitehierarchie
Um zu verstehen, wie Sandkastenlösungen funktionieren, ist es hilfreich zu wissen, dass SharePoint-Websites hierarchisch angelegt sind. Das oberste Element wird als Webfarm bezeichnet, und andere Elemente sind ihm untergeordnet:
Webfarm
Webanwendung A
Website-Sammlung A1
Website A1a
Webanwendung B
Website-Kollektion B1
Standort B1a
Ort B1b
Website-Sammlung B2
Website B2a
Wie Sie sehen können, können Webfarmen eine oder mehrere Webanwendungen enthalten, die wiederum eine oder mehrere Websitesammlungen enthalten können, die Unterwebsites enthalten können usw. Änderungen, die an einer Websitesammlung vorgenommen wurden, wirken sich nur auf diese Websitesammlung und keine andere aus. Änderungen, die auf Der Ebene der Webfarm vorgenommen wurden, wirken sich jedoch auf alle Websitesammlungen in der Farm aus.
Mit Windows SharePoint Services (WSS) 3.0 können Sie Lösungen nur auf Farmebene bereitstellen. Microsoft SharePoint Foundation ermöglicht ihnen jedoch die Bereitstellung auf Farmebene (Farmlösung) oder der Websitesammlungsebene (Sandkastenlösung).
Warum Sandkastenlösungen?
In WSS 3.0 konnten Lösungen nur auf Farmebene bereitgestellt werden. Dies bedeutete, dass potenziell schädliche oder destabilisierende Lösungen bereitgestellt werden könnten, die sich auf die gesamte Webfarm und alle anderen Websitesammlungen und Anwendungen auswirken, die unter ihr ausgeführt werden. Mithilfe von Sandkastenlösungen können Sie Ihre Lösungen jedoch in einem Unterbereich der Farm, einer bestimmten Websitesammlung, bereitstellen. Um zusätzlichen Schutz bereitzustellen, wird die Assembly der Lösung nicht in den Haupt-IIS-Prozess geladen (w3wp.exe). Stattdessen wird es in einen separaten Prozess geladen (SPUCWorkerProcess.exe). Dieser Prozess wird überwacht und implementiert Kontingente und Drosselungen, um die Farm vor Sandkastenlösungen zu schützen, die schädliche Aktivitäten ausführen, z. B. das Ausführen enger Schleifen, die CPU-Zyklen verbrauchen.
Lösungsgalerie für Websitesammlungen
Windows SharePoint Services 2010 verfügt über ein Feature, das als "Websitesammlungslösungskatalog" bezeichnet wird. Sie können auf diese Funktion über die SharePoint 2010-Zentraladministrationsseite zugreifen oder das Menü "Websiteaktionen " öffnen, " Websiteeinstellungen" auswählen und dann den Link "Lösungen " unter "Kataloge " auf der SharePoint-Website auswählen. Lösungskataloge sind Repositorys von Lösungen, mit denen Websitesammlungsadministratoren Lösungen in ihren Websitesammlungen verwalten können.
Der Lösungskatalog ist eine Dokumentbibliothek, die im Stammweb der SharePoint-Website gespeichert ist. Der Lösungskatalog ersetzt Websitevorlagen und unterstützt Lösungspakete. Wenn eine SharePoint-Lösungspaketdatei (.wsp)-Datei hochgeladen wird, wird sie als Sandkastenlösung verarbeitet.
Einschränkungen der Sandkastenlösung
Wenn eine Sandkastenlösung bereitgestellt wird, ist das Array der sharePoint-Funktionalität, die für sie verfügbar ist, beschränkt, um mögliche Sicherheitsrisiken zu verringern. Einige dieser Einschränkungen umfassen Folgendes:
Sandkastenlösungen verfügen über eine eingeschränkte Teilmenge von bereitstellungsfähigen Lösungselementen, die ihnen zur Verfügung stehen. Potenziell anfällige SharePoint-Projektvorlagen wie Websitedefinitionen und Workflows sind nicht verfügbar.
SharePoint führt Sandkastenlösungscode in einem Prozess (SPUCWorkerProcess.exe) getrennt vom Hauptprozess des IIS-Anwendungspools (w3wp.exe) aus.
Zugeordnete Ordner können dem Projekt nicht hinzugefügt werden.
Typen in der Microsoft SharePoint Server-Assembly "Microsoft.Office.Server" können nicht in Sandkastenlösungen verwendet werden. Außerdem können nur Typen in der Microsoft SharePoint Foundation-Assembly "Microsoft.SharePoint" in Sandkastenlösungen verwendet werden.
Es ist wichtig zu beachten, dass die Angabe einer SharePoint-Lösung als Sandkastenlösung keine Auswirkungen auf SharePoint-Server hat; es bestimmt nur, wie das SharePoint-Projekt aus Visual Studio in SharePoint bereitgestellt wird und an welche Assemblys gebunden wird. Sie wirkt sich nicht auf die generierte WSP-Datei aus, und die WSP-Datei enthält keine Daten, die direkt mit der Sandkastenlösungseigenschaft korreliert.
Funktionen und Elemente in Sandkastenlösungen
Sandkastenlösungen unterstützen die folgenden Funktionen und Elemente:
Inhaltstypen/Felder
Benutzerdefinierte Aktionen
Deklarative Workflows
Ereignisempfänger
Funktionslegenden
Definitionen auflisten
Listeninstanzen
Modul/Dateien
Navigation
Onet.xml
SPItemEventReceiver
SPListEventReceiver
SPWebEventReceiver
Unterstützung für alle Webparts, die von
System.Web.UI.WebControls.WebParts.WebPartabgeleitet sind.Web Parts
WebTemplate-Featureelemente (anstelle von Webtemp.xml)
Die visuellen Webparts
Sandkastenlösungen unterstützen die folgenden Funktionen und Elemente nicht:
Anwendungsseiten
Benutzerdefinierte Aktionsgruppe
Farmbezogene Features
HideCustomAction-ElementFunktionen im Rahmen von Webanwendungen
Workflows mit Code