Condividi tramite


Classe ServerDocument (System 2007)

Aggiornamento: novembre 2007

Fornisce accesso alle informazioni sulla personalizzazione e ai dati memorizzati nella cache in un documento facente parte di una personalizzazione a livello di documento per Microsoft Office Excel 2007 o Microsoft Office Word 2007.

Spazio dei nomi:  Microsoft.VisualStudio.Tools.Applications
Assembly:  Microsoft.VisualStudio.Tools.Applications.ServerDocument.v9.0 (in Microsoft.VisualStudio.Tools.Applications.ServerDocument.v9.0.dll)

Sintassi

<PermissionSetAttribute(SecurityAction.Demand, Name := "FullTrust")> _
Public NotInheritable Class ServerDocument _
    Implements IDisposable

Dim instance As ServerDocument
[PermissionSetAttribute(SecurityAction.Demand, Name = "FullTrust")]
public sealed class ServerDocument : IDisposable

Note

Per gestire determinati aspetti delle personalizzazioni a livello di documento in un computer in cui non sono installati Excel o Word, utilizzare la classe ServerDocument.

Per l'esecuzione di attività comuni, utilizzare i membri della classe ServerDocument indicati di seguito:

  • Per accedere ai dati presenti nella cache di dati di un documento in un server e modificarli, utilizzare la proprietà CachedData.

  • Per associare o rimuovere una personalizzazione da un documento a livello di codice, utilizzare i metodi AddCustomization e RemoveCustomization.

  • Per accedere all'URL del manifesto di distribuzione associato al documento o modificarlo, utilizzare la proprietà DeploymentManifestUrl.

Per ulteriori informazioni, vedere Gestione dei documenti di un server utilizzando la classe ServerDocument.

Scelta del costruttore da utilizzare

Per utilizzare la classe ServerDocument per l'accesso ai dati memorizzati nella cache o all'URL del manifesto di distribuzione in un documento, è necessario creare un oggetto ServerDocument.

Sono disponibili due insiemi di costruttori ServerDocument:

  • Un insieme che è possibile utilizzare per accedere a un documento già aperto in memoria.

  • Un insieme che è possibile utilizzare per accedere a un documento su disco.

Accesso a un documento in memoria

Per accedere a un documento già aperto in memoria, utilizzare uno dei costruttori seguenti:

Tali costruttori accettano una matrice di byte o un oggetto Stream che rappresenta il documento in memoria. Ciò risulta utile se si desidera modificare i dati memorizzati nella cache o il manifesto dell'applicazione nel documento prima di trasmetterlo a destinazione mediante il protocollo HTTP. Per poter utilizzare tali costruttori il documento deve già includere una personalizzazione di Visual Studio Tools per Office; in caso contrario, i costruttori genereranno un'eccezione CannotLoadManifestException.

Accesso a un documento su disco

Per accedere a un documento su disco, utilizzare uno dei costruttori seguenti:

Tali costruttori accettano il percorso completo del documento che si desidera aprire. Per impostazione predefinita, il documento viene aperto con accesso in lettura/scrittura. Per aprire il documento con accesso in sola lettura o in sola scrittura, utilizzare il costruttore dotato di un parametro FileAccess.

Informazioni sulle diverse versioni della classe ServerDocument

Visual Studio Tools per Office include diverse versioni della classe ServerDocument destinate a soluzioni per Microsoft Office 2003 e Microsoft Office System 2007. Questa versione della classe ServerDocument può essere utilizzata unicamente con soluzioni create mediante modelli di progetto a livello di documento per Word 2007 ed Excel 2007.

Per operare con una soluzione creata mediante modelli di progetto per Word 2003 ed Excel 2003, utilizzare la classe ServerDocument nello spazio dei nomi Microsoft.VisualStudio.Tools.Applications.Runtime.

Per ulteriori informazioni, vedere Gestione dei documenti di un server utilizzando la classe ServerDocument. Per un esempio di codice che illustra l'utilizzo di entrambe le versioni della classe ServerDocument nello stesso file di codice, vedere Procedura: scrivere codice che utilizzi entrambe le versioni della classe ServerDocument.

Esempi

Nell'esempio di codice riportato di seguito viene creato un nuovo oggetto ServerDocument che esegue il caricamento di un documento specificato e quindi visualizza l'URL del manifesto di distribuzione per la personalizzazione di Visual Studio Tools per Office associata al documento. Prima di creare l'oggetto, il metodo GetCustomizationVersion viene utilizzato dal codice per verificare che la personalizzazione sia stata creata utilizzando Microsoft Visual Studio Tools per Microsoft Office System (versione 3.0 Runtime). Si tratta dell'unico runtime compatibile con questa versione della classe ServerDocument. Per ulteriori informazioni, vedere Gestione dei documenti di un server utilizzando la classe ServerDocument.

In questo esempio è necessario specificare all'inizio del file di codice un riferimento agli assembly Microsoft.VisualStudio.Tools.Applications.ServerDocument.v9.0.dll e Microsoft.VisualStudio.Tools.Applications.Runtime.v9.0.dll e le istruzioni Imports, in Visual Basic, o using, in C#, per gli spazi dei nomi Microsoft.VisualStudio.Tools.Applications e Microsoft.VisualStudio.Tools.Applications.Runtime.

Private Sub CreateServerDocumentFromPath(ByVal documentPath As String)
    Dim runtimeVersion As Integer = 0
    Dim serverDocument1 As ServerDocument = Nothing

    Try
        runtimeVersion = ServerDocument.GetCustomizationVersion(documentPath)
        If runtimeVersion = 3 Then
            serverDocument1 = New ServerDocument(documentPath)
            MessageBox.Show("The URL of the deployment manifest is: " & vbLf & _
                serverDocument1.DeploymentManifestUrl.ToString())
        End If

    Catch ex As System.IO.FileNotFoundException
        System.Windows.Forms.MessageBox.Show("The specified document does not exist.")
    Catch ex As UnknownCustomizationFileException
        System.Windows.Forms.MessageBox.Show("The specified document has a file " & _
            "extension that is not supported by Visual Studio Tools for Office.")
    Finally
        If Not (serverDocument1 Is Nothing) Then
            serverDocument1.Close()
        End If
    End Try
End Sub
private void CreateServerDocumentFromPath(string documentPath)
{
    int runtimeVersion = 0;
    ServerDocument serverDocument1 = null;

    try
    {
        runtimeVersion = ServerDocument.GetCustomizationVersion(documentPath);
        if (runtimeVersion == 3)
        {
            serverDocument1 = new ServerDocument(documentPath);
            MessageBox.Show("The URL of the deployment manifest is: \n" +
                serverDocument1.DeploymentManifestUrl.ToString());
        }
    }
    catch (System.IO.FileNotFoundException)
    {
        System.Windows.Forms.MessageBox.Show("The specified document does not exist.");
    }
    catch (UnknownCustomizationFileException)
    {
        System.Windows.Forms.MessageBox.Show("The specified document has a file " +
            "extension that is not supported by Visual Studio Tools for Office.");
    }
    finally
    {
        if (serverDocument1 != null)
            serverDocument1.Close();
    }
}

Gerarchia di ereditarietà

System.Object
  Microsoft.VisualStudio.Tools.Applications.ServerDocument

Codice thread safe

Qualsiasi membro static (Shared in Visual Basic) pubblico di questo tipo è thread-safe. I membri di istanza non sono garantiti come thread-safe.

Vedere anche

Riferimenti

Membri ServerDocument

Spazio dei nomi Microsoft.VisualStudio.Tools.Applications

Altre risorse

Gestione dei documenti di un server utilizzando la classe ServerDocument

Manifesti dell'applicazione e di distribuzione nelle soluzioni di Office

Accesso ai dati dei documenti sul server

Procedura: inserire dati in una cartella di lavoro sul server

Procedura: recuperare i dati memorizzati nella cache di una cartella di lavoro di un server

Procedura: modificare i dati memorizzati nella cache di una cartella di lavoro di un server