Panoramica delle soluzioni in modalità sandbox (SharePoint Server 2010)

SharePoint 2010
 

Si applica a: SharePoint Foundation 2010, SharePoint Server 2010

Ultima modifica dell'argomento: 2016-11-30

Una soluzione di Microsoft SharePoint Server 2010 è un pacchetto riutilizzabile e distribuibile contenente caratteristiche, definizioni di sito e altre funzionalità. Le soluzioni possono essere abilitate o disabilitate singolarmente. È possibile distribuire una soluzione direttamente nella farm di SharePoint Server oppure in una sandbox. Il termine sandbox indica un ambiente di esecuzione limitato che consente ai programmi di accedere solo a specifiche risorse e impedisce che gli eventuali problemi che si verificano nella sandbox influiscano sugli altri componenti dell'ambiente server. Le soluzioni distribuite in una sandbox, note come soluzioni in modalità sandbox, non possono utilizzare particolari risorse del computer e della rete, oltre a non poter accedere a contenuto all'esterno della raccolta siti in cui sono distribuite. Per ulteriori informazioni sulle soluzioni, vedere Panoramica delle soluzioni (le informazioni potrebbero essere in lingua inglese) (http://go.microsoft.com/fwlink/?linkid=156638&clcid=0x410) (le informazioni potrebbero essere in lingua inglese).

Le soluzioni in modalità sandbox non possono produrre effetti estesi all'intera server farm, pertanto non è necessario che vengano distribuite da un amministratore di farm. Della distribuzione di queste soluzioni può occuparsi un amministratore di raccolte siti oppure, in alcuni casi, un utente con livello di autorizzazione Controllo completo alla radice della raccolta siti. Solo un amministratore di farm può tuttavia configurare le impostazioni relative alle soluzioni in modalità sandbox, come ad esempio il bilanciamento del carico, i livelli, le quote e i punti di risorse, e solo un amministratore di farm è autorizzato ad alzare di livello una soluzione in modalità sandbox per consentirne l'esecuzione diretta nella farm all'esterno della sandbox.

In questo articolo vengono introdotti i concetti relativi alle soluzioni in modalità sandbox, vengono illustrati gli utilizzi e i vantaggi di tali soluzioni, vengono spiegate le differenze tra questo tipo di soluzioni e le soluzioni distribuite nella farm, viene riepilogata la procedura di distribuzione delle soluzioni in modalità sandbox, vengono descritti il servizio di soluzioni in modalità sandbox oltre ai punti di risorse e alle quote e vengono elencate le attività associate all'amministrazione delle soluzioni in questione. Non vengono fornite procedure dettagliate per la configurazione o la distribuzione delle soluzioni in modalità sandbox. Per informazioni su come eseguire attività specifiche relative a queste soluzioni, vedere Amministrazione delle soluzioni in modalità sandbox (SharePoint Server 2010) e Installazione, disinstallazione e aggiornamento delle soluzioni in modalità sandbox (le informazioni potrebbero essere in lingua inglese) (http://go.microsoft.com/fwlink/?linkid=220252&clcid=0x410) (le informazioni potrebbero essere in lingua inglese).

Contenuto dell'articolo:

L'utilizzo di soluzioni in modalità sandbox è particolarmente appropriato nei due casi comuni seguenti:

  • In un'organizzazione si desidera eseguire codice per i dipendenti in un sito di SharePoint Server di produzione e tale codice non è stato sottoposto a verifiche e test rigorosi.

  • Un hoster desidera consentire ai proprietari dei siti di SharePoint Server ospitati di caricare ed eseguire codice personalizzato.

I vantaggi principali dell'utilizzo di soluzioni in modalità sandbox sono i seguenti:

  • È possibile aggiungere le soluzioni in modalità sandbox in un ambiente SharePoint Server di produzione senza correre il rischio di influire su processi all'esterno della sandbox.

  • Le soluzioni in modalità sandbox possono essere distribuite dagli amministratori di raccolte siti, con conseguente riduzione del carico di lavoro per gli amministratori delle farm.

  • Viene garantita una maggiore scalabilità e flessibilità perché le sandbox vengono eseguite in un processo separato limitabile tramite quote ed è possibile monitorarne gli effetti sulla farm.

  • Non è necessario modificare o ricompilare una soluzione se si passa dall'esecuzione in una sandbox all'esecuzione diretta nella farm.

Le soluzioni sono pacchetti forniti come file con estensione wsp contenenti caratteristiche, definizioni di sito, Web part e assembly. Le soluzioni possono essere di due tipi, ovvero soluzioni farm e soluzioni in modalità sandbox. Le prime vengono distribuite nei server Web front-end da un amministratore di farm, dispongono dell'accesso completo al modello a oggetti server e non sono soggette a limiti di utilizzo. Le seconde invece possono essere distribuite da un amministratore di raccolte siti (o da un utente con livello di autorizzazione Controllo completo alla radice della raccolta siti) nella raccolta soluzioni di una raccolta siti, hanno un accesso limitato al modello a oggetti server e vengono eseguite in un contesto con restrizioni di sicurezza che garantisce l'isolamento e il monitoraggio del codice della soluzione. Gli amministratori di farm possono abilitare o disabilitare le soluzioni in modalità sandbox e impostare limiti di utilizzo per proteggere i server della farm da codice dannoso. Per ulteriori informazioni sulle soluzioni, vedere Blocchi predefiniti - Soluzioni (le informazioni potrebbero essere in lingua inglese) (http://go.microsoft.com/fwlink/?linkid=220253&clcid=0x410) (le informazioni potrebbero essere in lingua inglese).

Una soluzione di SharePoint Server deve contenere il file di configurazione denominato manifest.xml e può inoltre includere ulteriori file di configurazione e assembly. Per le soluzioni eseguite in una sandbox sono previsti limiti per gli assembly e i file di configurazione.

Nell'elenco seguente vengono indicate le operazioni più comuni non consentite per un assembly eseguito in una sandbox:

  • Connessione a risorse che non si trovano nella farm locale.

  • Accesso a database.

  • Modifica del modello di threading.

  • Chiamata di codice non gestito.

  • Scrittura su disco.

  • Accesso a risorse in una diversa raccolta siti.

Per ulteriori informazioni sulle operazioni consentite e non consentite a una soluzione in modalità sandbox, vedere Elementi implementabili in una soluzione in modalità sandbox (le informazioni potrebbero essere in lingua inglese) (http://go.microsoft.com/fwlink/?linkid=220254&clcid=0x410) (le informazioni potrebbero essere in lingua inglese) e Restrizioni per le soluzioni in modalità sandbox (le informazioni potrebbero essere in lingua inglese) (http://go.microsoft.com/fwlink/?linkid=220255&clcid=0x410) (le informazioni potrebbero essere in lingua inglese).

SharePoint Server offre due schemi di bilanciamento del carico che vengono utilizzati per determinare il server in cui deve essere eseguita una soluzione in modalità sandbox. Gli amministratori di farm possono scegliere uno degli schemi di bilanciamento del carico seguenti da applicare alle soluzioni in modalità sandbox della farm:

  • Bilanciamento del carico locale   La soluzione in modalità sandbox viene eseguita nello stesso server che ha ricevuto la richiesta.

  • Bilanciamento del carico remoto   Il server in cui viene eseguita la soluzione in modalità sandbox viene selezionato in base all'affinità e la soluzione viene eseguita in un server in cui è stata già caricata ed eseguita. In questo modo si risparmia il tempo della gestione della richiesta della soluzione.

Indipendentemente dallo schema di bilanciamento del carico scelto, il servizio di soluzioni in modalità sandbox deve essere in esecuzione in tutti i server in cui si desidera vengano eseguite tali soluzioni.

NotaNote
Il servizio di soluzioni in modalità sandbox ha diversi nomi, a seconda della posizione da cui si accede al servizio. Nel sito Web Amministrazione centrale SharePoint il servizio è denominato Servizio codice in modalità sandbox di Microsoft SharePoint Foundation. Nella console Servizi del server è invece noto come servizio SharePoint User Code Host. Per evitare confusioni, in questo articolo tale servizio viene indicato come "servizio di soluzioni in modalità sandbox".

Per ottenere un maggiore isolamento, è possibile utilizzare il bilanciamento del carico remoto ed eseguire il servizio di soluzioni in modalità sandbox solo in server specifici. In un ambiente di produzione è consigliabile utilizzare il bilanciamento del carico remoto e dedicare un server separato all'esecuzione delle soluzioni in modalità sandbox. Per informazioni su come decidere lo schema di bilanciamento del carico da utilizzare, vedere Pianificare l'implementazione del bilanciamento del carico per il codice di soluzioni in modalità sandbox in Pianificare le soluzioni in modalità sandbox (SharePoint Server 2010).

Nella tabella seguente vengono confrontati alcuni aspetti per le soluzioni eseguite in una farm e quelle eseguite in una sandbox.

 

Aspetto Farm Sandbox

Processo di distribuzione

Aggiunta della soluzione e quindi distribuzione nella farm.

Caricamento della soluzione in una raccolta siti e quindi attivazione della soluzione nella raccolta.

Utenti autorizzati alla distribuzione

Amministratori di farm.

Se la soluzione contiene un assembly, può essere distribuita solo dall'amministratore di una raccolta siti. Se la soluzione non contiene un assembly, può essere distribuita da un utente con livello di autorizzazione Controllo completo alla radice della raccolta siti.

Accesso ai dati

Nessuna limitazione.

La soluzione può solamente accedere a contenuto dalla raccolta siti in cui è stata distribuita.

Processo in cui viene eseguita la soluzione

Processo di lavoro IIS senza limitazioni o qualsiasi processo in cui viene distribuita la soluzione.

Processo di lavoro separato con autorizzazioni limitate.

Protezione dall'accesso di codice

Lo sviluppatore della soluzione può impostare i criteri di protezione dall'accesso di codice in fase di creazione del pacchetto.

Con limitazioni.

Monitoraggio

Nessun monitoraggio.

Monitoraggio e limiti basati su quote impostate dall'amministratore della farm.

Bilanciamento del carico

Varia in base al tipo di soluzione.

Configurabile separatamente da soluzioni non in modalità sandbox.

Funzionalità della soluzione

Nessuna limitazione.

Con limitazioni, come spiegato in Operazioni non consentite per le soluzioni in modalità sandbox più indietro in questo articolo.

Benché per le soluzioni in modalità sandbox vi siano limitazioni relative al codice che possono utilizzare e ai dati a cui possono accedere, è possibile creare un tipo speciale di operazione che viene eseguita in un processo con attendibilità completa e che può essere chiamata da una soluzione in modalità sandbox. In questo caso si parla di proxy ad attendibilità completa. Per ulteriori informazioni su questi proxy, vedere Soluzioni in modalità sandbox insieme a proxy ad attendibilità completa (le informazioni potrebbero essere in lingua inglese) (http://go.microsoft.com/fwlink/?linkid=220256&clcid=0x410) (le informazioni potrebbero essere in lingua inglese) e il Capitolo 4 - Soluzioni in modalità sandbox (le informazioni potrebbero essere in lingua inglese) (http://go.microsoft.com/fwlink/?linkid=219528&clcid=0x410) (le informazioni potrebbero essere in lingua inglese).

Qualsiasi pagina di un sito di SharePoint Server può contenere componenti eseguiti in una sandbox oltre a componenti eseguiti direttamente nella farm. I componenti distribuiti nella farm vengono eseguiti nel processo di lavoro Internet Information Services (IIS). I componenti distribuiti nella sandbox vengono invece eseguiti in un processo in modalità sandbox.

Nell'elenco seguente vengono indicati i componenti che è possibile distribuire in una sandbox:

  • Web part

  • Ricevitori di eventi

  • Ricevitori di caratteristiche

  • Attività di flusso di lavoro personalizzate di Microsoft SharePoint Designer

  • Regola business di Microsoft InfoPath

Di seguito vengono descritte le attività necessarie per preparare l'ambiente e distribuire le soluzioni in modalità sandbox:

  1. Un amministratore di farm esegue le attività seguenti, che devono essere effettuate una sola volta:

  2. Un amministratore di una raccolta siti o un utente con livello di autorizzazione Controllo completo alla radice della raccolta siti carica una soluzione nella raccolta soluzioni della raccolta siti. Per informazioni su come caricare una soluzione in una raccolta soluzioni, vedere Installazione, disinstallazione e aggiornamento delle soluzioni in modalità sandbox (le informazioni potrebbero essere in lingua inglese) (http://go.microsoft.com/fwlink/?linkid=220252&clcid=0x410) (le informazioni potrebbero essere in lingua inglese).

  3. Un amministratore di una raccolta siti attiva la soluzione. Le soluzioni che non contengono assembly possono essere attivate anche da un utente con livello di autorizzazione Controllo completo alla radice della raccolta siti. Vengono eseguiti strumenti di convalida sulla soluzione. Se la convalida ha esito negativo, la soluzione non viene attivata. Per informazioni su come convalidare e attivare una soluzione in modalità sandbox, vedere Installazione, disinstallazione e aggiornamento delle soluzioni in modalità sandbox (le informazioni potrebbero essere in lingua inglese) (http://go.microsoft.com/fwlink/?linkid=220252&clcid=0x410) (le informazioni potrebbero essere in lingua inglese).

Gli amministratori di siti possono monitorare le risorse utilizzate dalle soluzioni in modalità sandbox e disattivare tali soluzioni nella raccolta siti. Se, dopo essere stata distribuita, una soluzione in modalità sandbox inizia a utilizzare troppe risorse o causa problemi nell'ambiente sandbox, un amministratore di farm può bloccarne l'esecuzione nella farm. Facoltativamente un amministratore di farm può inoltre rimuovere il requisito di esecuzione in una sandbox reinstallando la soluzione come soluzione farm. Se tale requisito viene rimosso, la soluzione successivamente non verrà più eseguita in un ambiente sandbox in qualsiasi raccolta siti della farm. Per informazioni su come bloccare una soluzione in modalità sandbox, vedere Block or unblock a sandboxed solution (SharePoint Server 2010). Per informazioni su come installare una soluzione farm, vedere Distribuire pacchetti delle soluzioni (SharePoint Server 2010).

Il servizio di soluzioni in modalità sandbox gestisce l'esecuzione delle soluzioni in modalità sandbox in una farm. All'interno di tale servizio vengono eseguiti due processi, ovvero il processo di lavoro e il processo proxy. Ogni soluzione in modalità sandbox viene eseguita all'interno di un dominio dell'applicazione nel processo di lavoro. Quest'ultimo gestisce le soluzioni in modalità sandbox limitando le risorse a cui accede ogni soluzione e arrestando i processi che richiedono troppo tempo per l'esecuzione. Ogni processo di lavoro è accoppiato a un processo proxy che gestisce le chiamate al modello a oggetti di SharePoint. Per una descrizione dettagliata del funzionamento del servizio di soluzioni in modalità sandbox, vedere la sezione sul funzionamento del modello di esecuzione sandbox in Soluzioni in modalità sandbox (le informazioni potrebbero essere in lingua inglese) (http://go.microsoft.com/fwlink/?linkid=220257&clcid=0x410) (le informazioni potrebbero essere in lingua inglese).

In base al numero medio di risorse per richiesta utilizzato, le soluzioni in modalità sandbox possono essere raggruppate in livelli all'interno del servizio di soluzioni in modalità sandbox. Come illustrato nella figura seguente, in un livello di tale servizio sono inclusi uno o più processi di lavoro in cui vengono eseguite le soluzioni in modalità sandbox. Ognuna di queste soluzioni viene eseguita nel proprio dominio dell'applicazione, che viene riutilizzato quando la soluzione viene richiamata.

Livelli del servizio relativo alle soluzioni in modalità sandbox

Per impostazione predefinita, tutte le soluzioni in modalità sandbox vengono eseguite nel relativo servizio in un unico livello, contenente un singolo processo di lavoro. Per impostazione predefinita, tale processo di lavoro può eseguire fino a 10 domini dell'applicazione. Un amministratore di farm può configurare ulteriori livelli e processi di lavoro all'interno del servizio per separare le soluzioni in modalità sandbox per le prestazioni, la sicurezza e l'affidabilità. Se una soluzione in modalità sandbox in un determinato processo di lavoro utilizza troppe risorse, causerà l'interruzione di tutte le soluzioni in esecuzione nel processo di lavoro. Dal momento che viene monitorata la quantità di risorse utilizzate dalle soluzioni in modalità sandbox, queste vengono separate automaticamente in ulteriori livelli in base a tale utilizzo del giorno precedente. La creazione di altri processi di lavoro e livelli consente perciò di isolare le soluzioni in modalità sandbox, proteggendo quelle che hanno un comportamento adeguato da quelle che non lo hanno e forzando l'esecuzione di queste ultime in livelli diversi.

Gli amministratori di farm possono impostare le proprietà seguenti per ogni livello:

  • ResourceMaxValue   Questa proprietà è un numero che determina quali soluzioni in modalità sandbox verranno eseguite nel livello. Il valore predefinito è 0 ed è necessario impostare un valore maggiore, altrimenti il livello non verrà mai utilizzato.

  • MaximumWorkerProcesses   Questa proprietà rappresenta il numero massimo di processi di lavoro che possono essere eseguiti nel livello. Il valore predefinito è 1. Impostando la proprietà su un valore maggiore, verrà creato un ulteriore processo di lavoro nel server che gestisce la richiesta.

  • MaximumAppDomainsPerProcess   Questa proprietà rappresenta il numero massimo di domini dell'applicazione che possono essere eseguiti in un processo di lavoro nel livello. Il valore predefinito è 10.

  • MaximumConnectionsPerProcess   Questa proprietà rappresenta il numero massimo di connessioni consentite dal servizio di soluzioni in modalità sandbox a un processo di lavoro nel livello. Il valore predefinito è 1.

  • PriorityPerProcess   Questa proprietà rappresenta la priorità che il sistema operativo ha assegnato ai processi di lavoro nel livello.

Per ulteriori informazioni sui livelli, vedere Utilizzo dei livelli di esecuzione per proteggere le soluzioni in modalità sandbox con un comportamento appropriato (le informazioni potrebbero essere in lingua inglese) (http://go.microsoft.com/fwlink/?linkid=220258&clcid=0x410) (le informazioni potrebbero essere in lingua inglese) e Livelli sandbox (le informazioni potrebbero essere in lingua inglese) (http://go.microsoft.com/fwlink/?linkid=217145&clcid=0x410) (le informazioni potrebbero essere in lingua inglese). Per informazioni su come configurare i livelli, vedere Configurare i livelli del servizio per soluzioni in modalità sandbox (SharePoint Server 2010).

L'utilizzo delle risorse da parte delle soluzioni in modalità sandbox viene monitorato per le singole raccolte siti in base a quote predefinite. Impostando quote per le raccolte siti, si impedisce a qualsiasi soluzione in modalità sandbox di utilizzare troppe risorse di sistema. Se una o più soluzioni in modalità sandbox superano la quota impostata per la raccolta siti, tutte le soluzioni in modalità sandbox incluse in tale raccolta siti verranno interrotte automaticamente fino all'esecuzione del processo timer Aggiornamento utilizzo risorse soluzione giornaliero, che in genere avviene ogni notte.

Le quote vengono gestite tramite il sito Web Amministrazione centrale SharePoint come un numero singolo che controlla il totale aggregato dei punti di risorse consentiti al giorno per tutte le soluzioni in modalità sandbox presenti in una raccolta siti. Gi amministratori di farm possono creare un modello quote da applicare a qualsiasi raccolta siti della farm. Per informazioni su come pianificare le quote, vedere Pianificare la gestione delle quote (SharePoint Server 2010). Per informazioni su come creare modelli quote, vedere Creare, modificare ed eliminare modelli quote (SharePoint Server 2010). Per informazioni su come impostare la quota di risorse massima per una raccolta siti specifica, vedere Change the storage limits for a site collection in Manage site collection storage limits (SharePoint Server 2010).

Per limitare la quantità di risorse utilizzata dalle soluzioni in modalità sandbox, è necessario definire punti di risorse. Tali punti corrispondono a livelli specifici di utilizzo delle risorse che è possibile definire per un massimo di 15 misure delle risorse, ovvero di risorse di sistema da monitorare, e si accumulano per l'intera raccolta siti man mano che le soluzioni in modalità sandbox vengono eseguite. Quando si esaminano le misure delle risorse all'interno di una quota, è possibile vedere il numero di risorse per punto. Questo numero corrisponde al numero di volte in cui una determinata risorsa può essere utilizzata fino a quando non viene accumulato un singolo punto di risorse. Per ogni misura delle risorse, gli amministratori di farm possono configurare le proprietà seguenti:

  • MinimumThreshold   Il livello minimo di utilizzo delle risorse da raggiungere prima che venga aggregato al totale relativo alla quota per la raccolta siti.

  • AbosoluteLimit   Il livello massimo di utilizzo delle risorse in una singola richiesta che può avere luogo prima dell'interruzione del processo di lavoro.

  • ResourcesPerPoint   La quantità o il livello di una determinata risorsa che corrisponde a un punto di risorse e che viene conteggiato ai fini del calcolo della quota totale per la raccolta siti.

Quando l'utilizzo delle risorse raggiunge il limite specificato dalla proprietà ResourcesPerPoint, per la raccolta siti viene accumulato un punto di risorse. Se il numero cumulativo di punti di risorse supera la quota prevista per una raccolta siti, tutte le soluzioni in modalità sandbox presenti nella raccolta siti verranno disabilitate per il resto della giornata.

I limiti predefiniti per i punti di risorse in genere sono appropriati per la maggior parte degli scenari. È tuttavia possibile aumentare i singoli limiti relativi ai punti di risorse, se necessario. Per ulteriori informazioni in merito, vedere Configurare i punti risorsa per le soluzioni in modalità sandbox (SharePoint Server 2010).

Gli amministratori di farm possono ottimizzare la distribuzione dei punti di risorse utilizzando Windows PowerShell in uno script per configurare la distribuzione dei singoli punti all'interno della quota per le soluzioni in modalità sandbox per una raccolta siti. Per un elenco delle singole misure delle risorse e per la soglia minima, il limite assoluto e le risorse per punto per ogni misura delle risorse, vedere Limiti per l'utilizzo di risorse per soluzioni in modalità sandbox in SharePoint 2010 (le informazioni potrebbero essere in lingua inglese) (http://go.microsoft.com/fwlink/?linkid=217149&clcid=0x410) (le informazioni potrebbero essere in lingua inglese). Per informazioni su come configurare le impostazioni per misure delle risorse specifiche, vedere Configurare i punti risorsa per le soluzioni in modalità sandbox (SharePoint Server 2010).

NotaNote
Se si determina che una soluzione in modalità sandbox utilizza sistematicamente le risorse del server in modo non appropriato, è possibile bloccarla finché lo sviluppatore non risolverà il problema. Per ulteriori informazioni su come bloccare e sbloccare soluzioni in modalità sandbox, vedere Block or unblock a sandboxed solution (SharePoint Server 2010).

L'amministratore di una farm può eseguire le operazioni seguenti per amministrare le soluzioni in modalità sandbox e il relativo servizio:

  • Abilitare il servizio di soluzioni in modalità sandbox nei server della farm.

  • Cambiare lo schema di bilanciamento del carico per una farm.

  • Bloccare o sbloccare una soluzione in modalità sandbox in una farm.

  • Configurare quote per le raccolte siti di una farm.

  • Configurare modelli quote in una farm.

  • Utilizzare Windows PowerShell per eseguire le operazioni seguenti:

    • Visualizzare le impostazioni relative alle quote per una raccolta siti.

    • Visualizzare e configurare i punti di risorse per misure delle risorse specifiche.

    • Visualizzare e configurare i livelli per il servizio di soluzioni in modalità sandbox.

Per ulteriori informazioni su come amministrare le soluzioni in modalità sandbox e il relativo servizio, vedere Amministrazione delle soluzioni in modalità sandbox (SharePoint Server 2010).

Gli amministratori di raccolte siti possono eseguire le operazioni seguenti per amministrare le soluzioni in modalità sandbox:

Mostra: