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
Доступ к данным в документах на сервере
Практическое руководство. Вставка данных в книгу на сервере
Практическое руководство. Извлечение кэшированных данных из рабочей книги на сервере
Практическое руководство. Изменение кэшированных данных в книге на сервере