ServerDocument (Clase)
Proporciona acceso a los datos almacenados en caché y a la información de personalización en un documento o libro que forma parte de una personalización de nivel de documento creada mediante las herramientas de desarrollo de Office incluidas en Visual Studio.
Jerarquía de herencia
System.Object
Microsoft.VisualStudio.Tools.Applications.ServerDocument
Espacio de nombres: Microsoft.VisualStudio.Tools.Applications
Ensamblado: Microsoft.VisualStudio.Tools.Applications.ServerDocument (en Microsoft.VisualStudio.Tools.Applications.ServerDocument.dll)
Sintaxis
'Declaración
<PermissionSetAttribute(SecurityAction.Demand, Name := "FullTrust")> _
Public NotInheritable Class ServerDocument _
Implements IDisposable
[PermissionSetAttribute(SecurityAction.Demand, Name = "FullTrust")]
public sealed class ServerDocument : IDisposable
El tipo ServerDocument expone los siguientes miembros.
Constructores
Nombre | Descripción | |
---|---|---|
ServerDocument(String) | Inicializa una nueva instancia de la clase ServerDocument utilizando la ruta de acceso completa del documento que se va a cargar. | |
ServerDocument(array<Byte[], String) | Inicializa una nueva instancia de la clase ServerDocument utilizando una matriz de bytes que representa el documento que se va a cargar y la extensión de nombre de archivo del documento. | |
ServerDocument(Stream, String) | Inicializa una nueva instancia de la clase ServerDocument utilizando una secuencia que representa el documento que se va a cargar y la extensión de nombre de archivo del documento. | |
ServerDocument(String, FileAccess) | Inicializa una nueva instancia de la clase ServerDocument utilizando la ruta de acceso completa del documento que se va a cargar y un valor que indica el acceso a archivos del documento. |
Arriba
Propiedades
Nombre | Descripción | |
---|---|---|
CachedData | Obtiene un objeto CachedData que representa los datos almacenados en memoria caché incluidos en el documento. | |
DeploymentManifestUrl | Obtiene o establece la dirección URL del manifiesto de implementación de la personalización que está asociada al documento. | |
Document | Obtiene la matriz de bytes de un documento almacenado en memoria que se carga en ServerDocument. | |
SolutionId | Obtiene un GUID que Runtime de Microsoft Visual Studio Tools para Office usa para identificar la solución. |
Arriba
Métodos
Nombre | Descripción | |
---|---|---|
AddCustomization(String, Uri) | Asocia una personalización al documento especificado utilizando el nombre de ensamblado y el manifiesto de implementación indicados. | |
AddCustomization(String, String, Guid, Uri) | Asocia una personalización al documento especificado utilizando el documento, el nombre de ensamblado, el identificador de solución y el manifiesto de implementación indicados. | |
AddCustomization(String, String, Guid, Uri, Boolean, array<String[]%) | Infraestructura. | |
Close | Cierra el objeto ServerDocument. | |
Equals | Determina si el objeto especificado es igual al objeto actual. (Se hereda de Object). | |
GetCustomizationVersion | Devuelve la versión de Runtime de Microsoft Visual Studio Tools para Office que se usó para crear la personalización asociada al documento especificado. | |
GetHashCode | Actúa como función hash para un tipo concreto. (Se hereda de Object). | |
GetType | Obtiene el objeto Type de la instancia actual. (Se hereda de Object). | |
IsCacheEnabled | Obtiene un valor que indica si el documento especificado tiene una caché de datos. | |
IsCustomized | Obtiene un valor que indica si el documento especificado tiene una personalización creada con Visual Studio 2010 Tools para Office Runtime. | |
RemoveCustomization | Quita la personalización del documento. | |
Save | Guarda todos los cambios realizados en el documento con la clase ServerDocument. | |
ToString | Devuelve una cadena que representa el objeto actual. (Se hereda de Object). |
Arriba
Implementaciones explícitas de interfaces
Nombre | Descripción | |
---|---|---|
IDisposable.Dispose | Libera todos los recursos utilizados por ServerDocument. |
Arriba
Comentarios
Utilice la clase ServerDocument para administrar determinados aspectos de las personalizaciones de nivel de documento en un equipo que no tiene instalado Excel ni Word.Esta clase se usa habitualmente en aplicaciones que no se integran con Office, como proyectos de consola o proyectos de Windows Forms, en lugar de proyectos de Office.
Utilice los siguientes miembros de la clase ServerDocument para realizar tareas comunes:
Para obtener acceso y modificar los datos de la memoria caché de datos de un documento que se encuentra en un servidor, utilice la propiedad CachedData.
Para asociar mediante programación una personalización a un documento o quitar una personalización de un documento, utilice los métodos AddCustomization y RemoveCustomization.
Para obtener acceso o cambiar la dirección URL del manifiesto de implementación que está asociado al documento, utilice la propiedad DeploymentManifestUrl.
Hay dos versiones diferentes de la clase de ServerDocument en Visual Studio 2010 Tools para Office Runtime.La versión que debe usar depende de la versión de .NET Framework de destino de la aplicación en la que desee utilizar la clase:
Para las aplicaciones destinadas .NET Framework 4 o .NET Framework 4.5, utiliza la clase de Microsoft.VisualStudio.Tools.Applications.ServerDocument en el ensamblado Microsoft.VisualStudio.Tools.Applications.ServerDocument.dll.
Para las aplicaciones destinadas a .NET Framework 3.5, use la clase Microsoft.VisualStudio.Tools.Applications.ServerDocument en el ensamblado Microsoft.VisualStudio.Tools.Applications.ServerDocument.v10.0.dll.
Para obtener más información, vea Administrar documentos en un servidor mediante la clase ServerDocument.
Elegir el constructor que se va a usar
Para utilizar la clase ServerDocument para tener acceso a los datos almacenados en memoria caché o a la dirección URL del manifiesto de implementación de un documento, debe crear un objeto ServerDocument.
Hay dos conjuntos de constructores de ServerDocument:
Un conjunto que puede utilizar para tener acceso a un documento que ya se ha abierto en la memoria.
Un conjunto que puede utilizar para tener acceso a un documento almacenado en disco.
Acceso a un documento almacenado en memoria
Para tener acceso a un documento que ya se ha abierto en la memoria, utilice uno de los constructores siguientes:
Estos constructores aceptan una matriz de bytes o un objeto Stream que representa el documento en memoria.Esto resulta útil si desea modificar los datos almacenados en memoria caché o el manifiesto de aplicación del documento antes de transmitirlo en secuencias a un destino mediante el protocolo HTTP.Para usar estos constructores, el documento debe tener ya una personalización; de lo contrario, estos constructores producirán una excepción CannotLoadManifestException.
Acceso a un documento almacenado en disco
Para tener acceso a un documento que se encuentra en el disco, utilice uno de los constructores siguientes:
Estos constructores aceptan la ruta de acceso completa del documento que desea abrir.De forma predeterminada, el documento se abre con acceso de lectura y escritura.Si desea abrir el documento con acceso de sólo lectura o de sólo escritura, utilice el constructor que tiene un parámetro FileAccess.
Ejemplos
En el ejemplo de código siguiente se crea un nuevo objeto ServerDocument que carga un documento específico y, a continuación, muestra la dirección URL del manifiesto de implementación de la personalización adjunta al documento.
Para este ejemplo se necesita:
Un proyecto de aplicación de consola o algún otro proyecto que no es de Office.
Referencias a los siguientes ensamblados:
Microsoft.VisualStudio.Tools.Applications.ServerDocument.dll y Microsoft.VisualStudio.Tools.Applications.Runtime.dll (si el proyecto tiene como destino .NET Framework 4 o .NET Framework 4.5).
o bien
Microsoft.VisualStudio.Tools.Applications.ServerDocument.v10.0.dll and Microsoft.VisualStudio.Tools.Applications.Runtime.v9.0.dll (si el proyecto está dirigido a .NET Framework 3.5).
Instrucciones Imports (para Visual Basic) o using (para C#) para los espacios de nombres Microsoft.VisualStudio.Tools.Applications y Microsoft.VisualStudio.Tools.Applications.Runtime en la parte superior de su archivo de código.
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();
}
}
Seguridad para subprocesos
Todos los miembros static (Shared en Visual Basic) públicos de este tipo son seguros para la ejecución de subprocesos. No se garantiza que los miembros de instancias sean seguros para la ejecución de subprocesos.
Vea también
Referencia
Microsoft.VisualStudio.Tools.Applications (Espacio de nombres)
Otros recursos
Administrar documentos en un servidor mediante la clase ServerDocument
Manifiestos de implementación y aplicación en soluciones de Office