Considerazioni sulla soluzione in modalità sandbox
Le soluzioni in modalità sandbox sono una funzionalità di Microsoft SharePoint 2010 che consente agli utenti della raccolta siti di caricare soluzioni di codice personalizzate. Una soluzione comune in modalità sandbox è che gli utenti caricano i propri Web part.
Un'applicazione SharePoint in modalità sandbox viene eseguita in un processo protetto e monitorato che ha accesso a una parte limitata della Web farm. Microsoft SharePoint 2010 usa una combinazione di funzionalità, raccolte di soluzioni, monitoraggio della soluzione e un framework di convalida per abilitare soluzioni in modalità sandbox.
Specificare il livello di attendibilità del progetto
Visual Studio supporta soluzioni in modalità sandbox tramite una proprietà di progetto booleana denominata Soluzione in modalità sandbox. Questa proprietà può essere impostata in qualsiasi momento nel progetto oppure può essere specificata quando si crea il progetto nella Personalizzazione guidata SharePoint.
Nota
La modifica della proprietà Soluzione in modalità sandbox di un progetto dopo la creazione può causare errori di convalida.
La soluzione viene considerata una soluzione con ambito farm se la proprietà Sandboxed Solution è impostata su false oppure si sceglie l'opzione Distribuisci come soluzione farm. Tuttavia, la soluzione viene trattata in modo diverso da una soluzione farm se la proprietà Soluzione in modalità sandbox è impostata su true o si sceglie l'opzione Distribuisci come soluzione in modalità sandbox nella procedura guidata.
Gerarchia dei siti di SharePoint
Per comprendere il funzionamento delle soluzioni in modalità sandbox, è utile sapere che i siti di SharePoint sono gerarchici nell'ambito. L'elemento principale è noto come Web farm e altri elementi sono subordinati a esso:
Web Farm
Applicazione Web A
Raccolta siti A1
Sito A1a
Applicazione Web B
Raccolta siti B1
Sito B1a
Sito B1b
Raccolta siti B2
Sito B2a
Come si può notare, le Web farm possono contenere una o più applicazioni Web, che a loro volta possono contenere una o più raccolte siti, che possono avere siti secondari e così via. Le modifiche apportate a una raccolta siti influiscono solo sulla raccolta siti e nessun'altra. Tuttavia, le modifiche apportate a livello di Web farm influiscono su tutte le raccolte siti nella farm.
Windows SharePoint Services (WSS) 3.0 consente di distribuire soluzioni solo a livello di farm, ma Microsoft SharePoint Foundation consente di eseguire la distribuzione a livello di farm (soluzione farm) o al livello di raccolta siti (soluzione in modalità sandbox).
Perché le soluzioni in modalità sandbox?
In WSS 3.0 le soluzioni possono essere distribuite solo a livello di farm. Ciò significa che è possibile distribuire soluzioni potenzialmente dannose o destabilizzanti che hanno interessato l'intera Web farm e tutte le altre raccolte siti e applicazioni eseguite in esso. Tuttavia, usando soluzioni in modalità sandbox, è possibile distribuire le soluzioni in una sottoarea della farm, una raccolta siti specifica. Per garantire una protezione aggiuntiva, l'assembly della soluzione non viene caricato nel processo IIS principale (w3wp.exe). Viene invece caricato in un processo separato (SPUCWorkerProcess.exe). Questo processo viene monitorato e implementa quote e limitazioni per proteggere la farm da soluzioni in modalità sandbox che eseguono attività dannose, ad esempio l'esecuzione di cicli ristretti che utilizzano cicli CPU.
Raccolta soluzioni raccolta siti
Windows SharePoint Services 2010 dispone di una funzionalità nota come "raccolta soluzioni raccolta siti". È possibile accedere a questa funzionalità dalla pagina di Amministrazione isterazione centrale di SharePoint 2010 oppure aprendo il menu Azioni sito, scegliendo Site Impostazioni e quindi scegliendo il collegamento Soluzioni in Raccolte nel sito di SharePoint. Le raccolte di soluzioni sono repository di soluzioni che consentono agli amministratori della raccolta siti di gestire le soluzioni nelle raccolte siti.
La raccolta di soluzioni è una raccolta documenti archiviata nel Web radice del sito di SharePoint. La raccolta di soluzioni sostituisce i modelli di sito e supporta i pacchetti di soluzioni. Quando viene caricato un file di pacchetto di soluzione SharePoint (con estensione wsp), viene elaborato come soluzione in modalità sandbox.
Limitazioni della soluzione in modalità sandbox
Quando viene distribuita una soluzione in modalità sandbox, la matrice di funzionalità di SharePoint disponibile è limitata per ridurre eventuali vulnerabilità di sicurezza che potrebbe avere. Alcune di queste limitazioni includono:
Le soluzioni in modalità sandbox hanno un sottoinsieme limitato di elementi della soluzione distribuibili disponibili. I modelli di progetto SharePoint potenzialmente vulnerabili, ad esempio definizioni di sito e flussi di lavoro, non sono disponibili.
SharePoint esegue codice della soluzione in modalità sandbox in un processo (SPUCWorkerProcess.exe) separato dal processo principale del pool di applicazioni IIS (w3wp.exe).
Impossibile aggiungere cartelle mappate al progetto.
I tipi nell'assembly di Microsoft SharePoint Server Microsoft.Office.Server non possono essere utilizzati nelle soluzioni in modalità sandbox. Inoltre, solo i tipi nell'assembly Microsoft SharePoint Foundation Microsoft.SharePoint possono essere usati nelle soluzioni in modalità sandbox.
È importante notare che la specifica di una soluzione SharePoint come soluzione in modalità sandbox non influisce sul server SharePoint; determina solo la modalità di distribuzione del progetto SharePoint in SharePoint da Visual Studio e degli assembly a cui viene associato. Non influisce sul file con estensione wsp generato e il file con estensione wsp non contiene dati correlati direttamente alla proprietà Sandboxed Solution.
Funzionalità ed elementi nelle soluzioni in modalità sandbox
Le soluzioni in modalità sandbox supportano le funzionalità e gli elementi seguenti:
Tipi di contenuto/campi
Azioni personalizzate
Flussi di lavoro dichiarativi
Ricevitori di eventi
Callout delle funzionalità
Definizioni elenco
Elencare le istanze
Modulo/file
Navigazione
Onet
SPItemEventReceiver
SPListEventReceiver
SPWebEventReceiver
Supporto per tutte le Web part che derivano da
System.Web.UI.WebControls.WebParts.WebPart
web part
Elementi di funzionalità WebTemplate (anziché Webtemp.xml)
Visual Web part
Le soluzioni in modalità sandbox non supportano le funzionalità e gli elementi seguenti:
Pagine dell'applicazione
Gruppo di azioni personalizzato
Funzionalità con ambito farm
elemento
HideCustomAction
Funzionalità con ambito applicazione Web
Flussi di lavoro con codice