Поделиться через


ServerDocument - класс

Предоставляет доступ к кэшированным данным и данным настройки в документе или книге, которая является частью настройки уровня документа, созданной с помощью средств разработки Office в Visual Studio.

Иерархия наследования

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

Пространство имен:  Microsoft.VisualStudio.Tools.Applications
Сборка:  Microsoft.VisualStudio.Tools.Applications.ServerDocument (в Microsoft.VisualStudio.Tools.Applications.ServerDocument.dll)

Синтаксис

'Декларация
<PermissionSetAttribute(SecurityAction.Demand, Name := "FullTrust")> _
Public NotInheritable Class ServerDocument _
    Implements IDisposable
[PermissionSetAttribute(SecurityAction.Demand, Name = "FullTrust")]
public sealed class ServerDocument : IDisposable

Тип ServerDocument предоставляет следующие члены.

Конструкторы

  Имя Описание
Открытый метод ServerDocument(String) Инициализирует новый экземпляр класса ServerDocument, используя полный путь к документу, который требуется загрузить.
Открытый метод ServerDocument(array<Byte[], String) Инициализирует новый экземпляр класса ServerDocument с помощью массива байтов, который представляет документ, который требуется загрузить, а также расширение файла документа.
Открытый метод ServerDocument(Stream, String) Инициализирует новый экземпляр класса ServerDocument с помощью потока, который представляет документ, который требуется загрузить, а также расширение файла документа.
Открытый метод ServerDocument(String, FileAccess) Инициализирует новый экземпляр класса ServerDocument с помощью полного пути к документу, который требуется загрузить, а также значения, обозначающего доступ к файлу документа.

В начало страницы

Свойства

  Имя Описание
Открытое свойство CachedData Возвращает объект CachedData, который представляет кэшированные данные, содержащиеся в документе.
Открытое свойство DeploymentManifestUrl Получает или задает URL-адрес манифеста развертывания для настройки, связанной с документом.
Открытое свойство Document Возвращает массив байтов документа в памяти, загруженного в ServerDocument.
Открытое свойство SolutionId Получает GUID, по которому Среда выполнения Visual Studio Tools for Office идентифицирует решение.

В начало страницы

Методы

  Имя Описание
Открытый методСтатический член AddCustomization(String, Uri) Прикрепляет настройку к указанному документу с помощью заданного имени и манифеста развертывания.
Открытый методСтатический член AddCustomization(String, String, Guid, Uri) Прикрепляет настройку к указанному документу с помощью заданного имени документа, сборки, ИД решения и манифеста развертывания.
Открытый методСтатический член AddCustomization(String, String, Guid, Uri, Boolean, array<String[]%) Инфраструктура.
Открытый метод Close Закрывает объект ServerDocument.
Открытый метод Equals Определяет, равен ли заданный объект Object текущему объекту Object. (Унаследовано от Object.)
Защищенный метод Finalize Позволяет объекту попытаться освободить ресурсы и выполнить другие операции очистки, перед тем как объект будет утилизирован в процессе сборки мусора. (Унаследовано от Object.)
Открытый методСтатический член GetCustomizationVersion Возвращает версию Среда выполнения Visual Studio Tools for Office, которая использовалась для создания настройки, связанной с указанным документом.
Открытый метод GetHashCode Играет роль хэш-функции для определенного типа. (Унаследовано от Object.)
Открытый метод GetType Возвращает объект Type для текущего экземпляра. (Унаследовано от Object.)
Открытый методСтатический член IsCacheEnabled Возвращает значение, указывающее, содержит ли указанный документ кэш данных.
Открытый методСтатический член IsCustomized Возвращает значение, позволяющее определить, есть ли в указанном документе настройка, созданная с помощью Visual Studio 2010 Tools для среды выполнения Office.
Защищенный метод MemberwiseClone Создает неполную копию текущего объекта Object. (Унаследовано от Object.)
Открытый методСтатический член RemoveCustomization Удаляет настройку из документа.
Открытый метод Save Сохраняет все изменения документа с помощью класса ServerDocument.
Открытый метод ToString Возвращение строки, представляющей текущий объект. (Унаследовано от Object.)

В начало страницы

Явные реализации интерфейса

  Имя Описание
Явная реализация интерфейсаЗакрытый метод IDisposable.Dispose Освобождает все ресурсы, используемые объектом ServerDocument.

В начало страницы

Заметки

Для управления определенными аспектами настроек уровня документов на компьютере, на котором не установлен Excel или Word, следует использовать класс ServerDocument. Обычно этот класс используется в приложениях, не интегрированных с Office, например, в консольных проектах или проектах Windows Forms, но не в проектах Office.

Для выполнения общих задач используются члены класса ServerDocument.

  • Для получения доступа к данным кэша документа на сервере и для их изменения следует использовать свойство CachedData.

  • Чтобы программным способом добавить или удалить настройку в документе, используются методы AddCustomization и RemoveCustomization.

  • Для получения доступа к URL-адресу манифеста развертывания, связанному с документом, и для его изменения следует использовать свойство DeploymentManifestUrl.

Существуют две различные версии класса ServerDocument в Visual Studio 2010 Tools для среды выполнения Office. Используемая версия зависит от целевой платформы .NET Framework приложения, в котором следует использовать этот класс:

  • Для приложений, ориентированных на платформу .NET Framework 4, используйте класс Microsoft.VisualStudio.Tools.Applications.ServerDocument в сборке Microsoft.VisualStudio.Tools.Applications.ServerDocument.dll.

  • Для приложений, ориентированных на платформу .NET Framework 3.5, используйте класс Microsoft.VisualStudio.Tools.Applications.ServerDocument в сборке Microsoft.VisualStudio.Tools.Applications.ServerDocument.v10.0.dll.

Дополнительные сведения см. в разделе Управление документами на сервере с помощью класса ServerDocument.

Выбор конструктора

Для использования класса ServerDocument с целью получения доступа к кэшированным данным или к URL-адресу манифеста развертывания в документе, необходимо создать объект ServerDocument.

Существует два набора конструкторов ServerDocument.

  • Набор конструкторов, который можно использовать для доступа к документу, который уже открыт.

  • Набор конструкторов, который можно использовать для доступа к документу, который находится на диске.

Доступ к документу в памяти

Чтобы получить доступ к документу, который уже открыт в памяти, используется один из следующих конструкторов.

Эти конструкторы принимают массив байтов или Stream, который представляет документ в памяти. Это полезно в тех случаях, когда требуется изменить кэшированные данные или манифест приложения в документе, прежде чем передавать их потоком в объект назначения с помощью протокола HTTP. Для использования этих конструкторов в документе уже должна быть настройка; в противном случае эти конструкторы выдадут исключение CannotLoadManifestException.

Доступ к документу на диске

Чтобы получить доступ к документу на диске, используется один из следующих конструкторов.

Эти конструкторы принимают полный путь к документу, который требуется открыть. По умолчанию документ открывается с правом доступа на чтение/запись. Если необходимо открыть документ с доступом только для чтения или только для записи, используется конструктор с параметром FileAccess.

Примеры

В следующем примере кода создается новый класс ServerDocument, который сначала загружает указанный документ, а затем отображает URL-адрес манифеста развертывания для прикрепленной к документу настройки.

Для этого примера требуется:

  • Проект консольного приложения или другой проект, не связанный с Office.

  • Ссылки на следующие сборки:

    • Microsoft.VisualStudio.Tools.Applications.ServerDocument.dll и Microsoft.VisualStudio.Tools.Applications.Runtime.dll (если проект предназначен для платформы .NET Framework 4).

      или

    • Microsoft.VisualStudio.Tools.Applications.ServerDocument.v10.0.dll и Microsoft.VisualStudio.Tools.Applications.Runtime.v9.0.dll (если проект предназначен для платформы .NET Framework 3.5).

  • Операторы Imports (для Visual Basic) или using (для C#) для пространств имен Microsoft.VisualStudio.Tools.Applications и 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();
    }
}

Потокобезопасность

Любые открытые члены этого типа, объявленные как static (Shared в Visual Basic), являются потокобезопасными. Потокобезопасность членов экземпляров не гарантируется.

См. также

Ссылки

Microsoft.VisualStudio.Tools.Applications - пространство имен

Другие ресурсы

Управление документами на сервере с помощью класса ServerDocument

Манифесты приложения и развертывания в решениях Office

Доступ к данным в документах на сервере

Практическое руководство. Вставка данных в книгу на сервере

Практическое руководство. Извлечение кэшированных данных из рабочей книги на сервере

Практическое руководство. Изменение кэшированных данных в книге на сервере