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
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