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
Método público ServerDocument(String) Inicializa una nueva instancia de la clase ServerDocument utilizando la ruta de acceso completa del documento que se va a cargar.
Método público 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.
Método público 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.
Método público 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
Propiedad pública CachedData Obtiene un objeto CachedData que representa los datos almacenados en memoria caché incluidos en el documento.
Propiedad pública DeploymentManifestUrl Obtiene o establece la dirección URL del manifiesto de implementación de la personalización que está asociada al documento.
Propiedad pública Document Obtiene la matriz de bytes de un documento almacenado en memoria que se carga en ServerDocument.
Propiedad pública SolutionId Obtiene un GUID que Motor en tiempo de ejecución de Microsoft Visual Studio Tools para Office usa para identificar la solución.

Arriba

Métodos

  Nombre Descripción
Método públicoMiembro estático AddCustomization(String, Uri) Asocia una personalización al documento especificado utilizando el nombre de ensamblado y el manifiesto de implementación indicados.
Método públicoMiembro estático 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.
Método públicoMiembro estático AddCustomization(String, String, Guid, Uri, Boolean, array<String[]%) Infraestructura.
Método público Close Cierra el objeto ServerDocument.
Método público Equals Determina si el objeto Object especificado es igual al objeto Object actual. (Se hereda de Object).
Método protegido Finalize Permite que un objeto intente liberar recursos y realizar otras operaciones de limpieza antes de ser reclamado por la recolección de elementos no utilizados. (Se hereda de Object).
Método públicoMiembro estático GetCustomizationVersion Devuelve la versión de Motor en tiempo de ejecución de Microsoft Visual Studio Tools para Office que se usó para crear la personalización asociada al documento especificado.
Método público GetHashCode Actúa como función hash para un tipo concreto. (Se hereda de Object).
Método público GetType Obtiene el objeto Type de la instancia actual. (Se hereda de Object).
Método públicoMiembro estático IsCacheEnabled Obtiene un valor que indica si el documento especificado tiene una caché de datos.
Método públicoMiembro estático IsCustomized Obtiene un valor que indica si el documento especificado tiene una personalización creada con Visual Studio 2010 Tools para Office Runtime.
Método protegido MemberwiseClone Crea una copia superficial del objeto Object actual. (Se hereda de Object).
Método públicoMiembro estático RemoveCustomization Quita la personalización del documento.
Método público Save Guarda todos los cambios realizados en el documento con la clase ServerDocument.
Método público ToString Devuelve una cadena que representa el objeto actual. (Se hereda de Object).

Arriba

Implementaciones explícitas de interfaces

  Nombre Descripción
Implementación explícita de interfacesMétodo privado IDisposable.Dispose Libera todos los recursos utilizados por el objeto 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 ServerDocument en el 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 a .NET Framework 4, utilice la clase 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.

Este ejemplo 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 destino del proyecto es .NET Framework 4).

      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

Acceso a datos de documentos en el servidor

Cómo: Insertar datos en un libro ubicado en un servidor

Cómo: Recuperar los datos almacenados en la memoria caché de un libro ubicado en un servidor

Cómo: Cambiar los datos almacenados en caché en un libro ubicado en un servidor