Condividi tramite


Considerazioni sulle soluzioni create mediante sandbox

Le soluzioni create mediante sandbox sono una funzionalità di Microsoft SharePoint 2010 che consente agli utenti della raccolta siti di caricare le proprie soluzioni del codice personalizzate. Una soluzione creata mediante sandbox comune prevede il caricamento delle proprie web part da parte degli utenti.

Un'applicazione di SharePoint creata mediante sandbox viene eseguita in un processo sicuro e monitorato che dispone dell'accesso a una parte limitata della Web farm. In Microsoft SharePoint 2010 viene utilizzata una combinazione di funzionalità, raccolte e monitoraggio delle soluzioni, nonché un framework di convalida per abilitare le soluzioni create mediante sandbox.

Specifica del livello di attendibilità del progetto

In Visual Studio, le soluzioni create mediante sandbox sono supportate tramite una proprietà booleana del progetto denominata Sandboxed Solution. Questa proprietà può essere impostata nel progetto in qualsiasi momento o specificata quando si crea il progetto nella Personalizzazione guidata SharePoint.

Nota

Se la proprietà Sandboxed Solution di un progetto viene modificata dopo la creazione, si potrebbero verificare errori di convalida.

Se la proprietà Sandboxed Solution viene impostata su false o si seleziona l'opzione Distribuisci come soluzione farm, la soluzione viene considerata come una soluzione con ambito farm. Tuttavia, se la proprietà Sandboxed Solution viene impostata su true o si seleziona l'opzione Distribuisci come soluzione creata mediante sandbox nella procedura guidata, la soluzione viene trattata in modo diverso rispetto a una soluzione farm.

Gerarchia del sito di SharePoint

Per capire il funzionamento delle soluzioni create mediante sandbox, è opportuno sapere che i siti di SharePoint sono gerarchici dal punto di vista dell'ambito. L'elemento superiore, a cui gli altri sono subordinati, è noto come Web farm:

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, nelle Web farm possono essere contenute una o più applicazioni Web che, a loro volta, possono includere una o più raccolte siti nelle quali possono essere presenti siti secondari e così via. Le modifiche apportate a una raccolta siti influiscono solo su tale raccolta, mentre le modifiche apportate a livello della Web farm influiscono su tutte le raccolte siti della farm.

Windows SharePoint Services 3.0 (WSS) permette di distribuire le soluzioni solo a livello di farm, mentre Microsoft SharePoint Foundation 2010 consente di distribuire a livello di farm (soluzione della farm) oppure a livello di raccolta siti (soluzione creata mediante sandbox).

Funzione delle soluzioni create mediante sandbox

In WSS 3.0, le soluzioni potevano essere distribuite solo a livello di farm. Pertanto sussisteva il rischio di distribuire soluzioni potenzialmente dannose o destabilizzanti che avrebbero interessato l'intera Web farm e tutte le altre raccolte siti e applicazioni in essa eseguite. Tuttavia, tramite le soluzioni create mediante sandbox, è possibile distribuire le soluzioni in un'area secondaria della farm, ovvero una raccolta siti specifica. Inoltre, per garantire una maggiore protezione, l'assembly della soluzione non viene caricato nel processo IIS principale (w3wp.exe), bensì in uno separato (SPUCWorkerProcess.exe). Questo processo è monitorato e implementa quote e limitazioni per proteggere la farm da soluzioni create mediante sandbox che eseguono attività dannose, ad esempio l'esecuzione di cicli rigidi che utilizzano cicli della CPU.

Raccolta di soluzioni della raccolta siti

Windows SharePoint Services 2010 dispone di una funzionalità nota come "raccolta di soluzioni della raccolta siti" disponibile facendo clic su Azioni sito, Impostazioni sito, Raccolte, quindi su Soluzioni nel sito di SharePoint o nella pagina Amministrazione centrale SharePoint 2010. Le raccolte di soluzioni sono repository di soluzioni che consentono agli amministratori della raccolta siti di gestire le soluzioni nelle proprie raccolte siti.

La raccolta di soluzioni è una raccolta documenti archiviata nel sito Web radice del sito di SharePoint. La raccolta di soluzioni sostituisce i modelli di sito e supporta i pacchetti di soluzione. Una volta caricato, un file del pacchetto di soluzione SharePoint (con estensione wsp) viene elaborato come una soluzione creata mediante sandbox.

Limitazioni delle soluzioni create mediante sandbox

Quando viene distribuita una soluzione creata mediante sandbox, la matrice della funzionalità SharePoint disponibile è limitata per consentire di ridurre qualsiasi vulnerabilità della sicurezza. Di seguito sono riportate alcune di queste limitazioni:

  • Le soluzioni create mediante sandbox dispongono di un sottoinsieme limitato di elementi della soluzione distribuibili. I modelli di progetto SharePoint potenzialmente vulnerabili, ad esempio le definizioni di sito e i flussi di lavoro, non sono disponibili.

  • SharePoint consente di eseguire il codice della soluzione creata mediante sandbox in un processo (SPUCWorkerProcess.exe) separato dal processo del pool di applicazioni IIS (w3wp.exe) principale.

  • Le cartelle mappate non possono essere aggiunte al progetto.

  • I tipi nell'assembly Microsoft.Office.Server di Microsoft SharePoint Server 2010 non possono essere utilizzati nelle soluzioni create mediante sandbox. Inoltre, solo i tipi nell'assembly Microsoft.SharePoint di Microsoft SharePoint Foundation 2010 possono essere utilizzati nelle soluzioni create mediante sandbox.

È importante notare che anche se una soluzione SharePoint viene specificata come soluzione creata mediante sandbox, il server SharePoint non sarà influenzato; infatti vengono soltanto determinati il modo in cui il progetto SharePoint viene distribuito a SharePoint da Visual Studio e gli assembly associati. Questa condizione non influisce sul file con estensione wsp generato e quest'ultimo non dispone di dati direttamente correlati alla proprietà Sandboxed Solution.

Funzionalità ed elementi delle soluzioni create mediante sandbox

Le soluzioni create mediante sandbox supportano le funzionalità e gli elementi seguenti:

  • Definizioni di elenco

  • Istanze di elenco

  • Onet.xml

  • Elementi della funzionalità WebTemplate (anziché Webtemp.xml)

  • Tipi/campi del contenuto

  • Spostamento

  • Modulo/file

  • Callout di funzionalità

  • Web part

  • Supporto per tutte le web part che derivano da System.Web.UI.WebControls.WebParts.WebPart

  • Ricevitori di eventi

  • SPItemEventReceiver

  • SPListEventReceiver

  • SPWebEventReceiver

  • Azioni personalizzate

  • Flussi di lavoro dichiarativi

Le soluzioni create mediante sandbox non supportano le funzionalità e gli elementi seguenti:

  • Web part visive

  • Pagine dell'applicazione

  • Gruppo delle azioni personalizzate

  • Elemento HideCustomAction

  • Associazione al tipo di contenuto

  • Funzionalità con ambito applicazione Web

  • Funzionalità con ambito farm

  • Flussi di lavoro con codice

Vedere anche

Altre risorse

Differenze tra soluzioni create mediante sandbox e soluzioni farm

Sviluppo di soluzioni SharePoint