Classe ServerDocument

Fornisce accesso alle informazioni sulla personalizzazione e ai dati memorizzati nella cache in un documento o una cartella di lavoro che fa parte di una personalizzazione a livello di documento creata tramite gli Strumenti di sviluppo di Microsoft Office per Visual Studio.

Gerarchia di ereditarietà

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

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

Sintassi

'Dichiarazione
<PermissionSetAttribute(SecurityAction.Demand, Name := "FullTrust")> _
Public NotInheritable Class ServerDocument _
    Implements IDisposable
[PermissionSetAttribute(SecurityAction.Demand, Name = "FullTrust")]
public sealed class ServerDocument : IDisposable

Il tipo ServerDocument espone i seguenti membri.

Costruttori

  Nome Descrizione
Metodo pubblico ServerDocument(String) Inizializza una nuova istanza della classe ServerDocument utilizzando il percorso completo del documento da caricare.
Metodo pubblico ServerDocument(array<Byte[], String) Inizializza una nuova istanza della classe ServerDocument utilizzando una matrice di byte che rappresenta il documento da caricare e l'estensione di file del documento.
Metodo pubblico ServerDocument(Stream, String) Inizializza una nuova istanza della classe ServerDocument utilizzando un flusso che rappresenta il documento da caricare e l'estensione di file del documento.
Metodo pubblico ServerDocument(String, FileAccess) Inizializza una nuova istanza della classe ServerDocument utilizzando il percorso completo del documento da caricare e un valore indicante l'accesso al file per il documento.

In alto

Proprietà

  Nome Descrizione
Proprietà pubblica CachedData Ottiene un oggetto CachedData che rappresenta i dati memorizzati nella cache contenuti nel documento.
Proprietà pubblica DeploymentManifestUrl Ottiene o imposta l'URL del manifesto della distribuzione per la personalizzazione che è associato al documento.
Proprietà pubblica Document Ottiene la matrice di byte di un documento in memoria che viene caricata in ServerDocument.
Proprietà pubblica SolutionId Ottiene un GUID utilizzato da Runtime di Visual Studio Tools per Office per identificare la soluzione.

In alto

Metodi

  Nome Descrizione
Metodo pubblicoMembro statico AddCustomization(String, Uri) Associa una personalizzazione al documento specificato utilizzando il nome assembly e il manifesto di distribuzione specificati.
Metodo pubblicoMembro statico AddCustomization(String, String, Guid, Uri) Associa una personalizzazione al documento specificato utilizzando il documento, il nome assembly, l'ID soluzione e il manifesto di distribuzione specificati.
Metodo pubblicoMembro statico AddCustomization(String, String, Guid, Uri, Boolean, array<String[]%) Infrastruttura.
Metodo pubblico Close Chiude l'oggetto ServerDocument.
Metodo pubblico Equals Determina se l'oggetto specificato equivale all'oggetto corrente. (Ereditato da Object)
Metodo pubblicoMembro statico GetCustomizationVersion Restituisce la versione di Runtime di Visual Studio Tools per Office utilizzata per creare la personalizzazione associata al documento specificato.
Metodo pubblico GetHashCode Funge da funzione hash per un determinato tipo. (Ereditato da Object)
Metodo pubblico GetType Ottiene l'oggetto Type dell'istanza corrente. (Ereditato da Object)
Metodo pubblicoMembro statico IsCacheEnabled Ottiene un valore che indica se il documento specificato dispone di una cache di dati.
Metodo pubblicoMembro statico IsCustomized Ottiene un valore che indica se il documento specificato ha una personalizzazione creata utilizzando Visual Studio 2010 tools per Office runtime.
Metodo pubblicoMembro statico RemoveCustomization Rimuove la personalizzazione dal documento.
Metodo pubblico Save Salva le eventuali modifiche apportate al documento utilizzando la classe ServerDocument.
Metodo pubblico ToString Restituisce una stringa che rappresenta l'oggetto corrente. (Ereditato da Object)

In alto

Implementazioni esplicite dell'interfaccia

  Nome Descrizione
Implementazione esplicita dell'interfacciaMetodo privato IDisposable.Dispose Rilascia tutte le risorse utilizzate dall'oggetto ServerDocument.

In alto

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.In genere si utilizza questa classe nelle applicazioni che non si integrano con Office, ad esempio progetti Console o Windows Form, anziché progetti di Office.

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.

Esistono due diverse versioni della classe di ServerDocument in di Visual Studio 2010 tools per Office runtime.La scelta della versione da utilizzare dipende dalla versione di .NET Framework a cui è destinata l'applicazione in cui si intende utilizzare la classe:

  • Per applicazioni destinate a .NET Framework 4 o .NET Framework 4.5, utilizzare la classe di Microsoft.VisualStudio.Tools.Applications.ServerDocument nell'assembly Microsoft.VisualStudio.Tools.Applications.ServerDocument.dll.

  • Per le applicazioni destinate a .NET Framework 3.5, utilizzare la classe Microsoft.VisualStudio.Tools.Applications.ServerDocument nell'assembly Microsoft.VisualStudio.Tools.Applications.ServerDocument.v10.0.dl.

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 set di costruttori ServerDocument:

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

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

Bb514484.collapse_all(it-it,VS.110).gifAccesso 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; in caso contrario, i costruttori genereranno un'eccezione CannotLoadManifestException.

Bb514484.collapse_all(it-it,VS.110).gifAccesso 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.

Esempi

Nell'esempio di codice seguente viene creato un nuovo oggetto ServerDocument che carica un documento specificato e quindi visualizza l'URL del manifesto di distribuzione per la personalizzazione associata al documento.

L'esempio presenta i seguenti requisiti:

  • Progetto di applicazione console o qualche altro progetto non-Office.

  • Riferimenti ai seguenti assembly:

    • Microsoft.VisualStudio.Tools.Applications.ServerDocument.dll e Microsoft.VisualStudio.Tools.Applications.Runtime.dll (se il progetto è destinato a .NET Framework 4 o .NET Framework 4.5).

      oppure

    • Microsoft.VisualStudio.Tools.Applications.ServerDocument.v10.0.dll e Microsoft.VisualStudio.Tools.Applications.Runtime.v9.0.dll (se il progetto è destinato a .NET Framework 3.5).

  • Istruzioni Imports (per Visual Basic) o using (per C#) per gli spazi dei nomi Microsoft.VisualStudio.Tools.Applications e Microsoft.VisualStudio.Tools.Applications.Runtime all'inizio del file di codice

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();
    }
}

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

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