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


Класс DataServiceContext

DataServiceContext представляет контекст среды выполнения службы данных.

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

System.Object
  System.Data.Services.Client.DataServiceContext

Пространство имен:  System.Data.Services.Client
Сборка:  Microsoft.Data.Services.Client (в Microsoft.Data.Services.Client.dll)

Синтаксис

'Декларация
Public Class DataServiceContext
'Применение
Dim instance As DataServiceContext
public class DataServiceContext
public ref class DataServiceContext
type DataServiceContext =  class end
public class DataServiceContext

Тип DataServiceContext обеспечивает доступ к следующим элементам.

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

  Имя Описание
Открытый метод DataServiceContext() Инициализирует новый экземпляр класса DataServiceContext.
Открытый метод DataServiceContext(Uri) Инициализирует новый экземпляр класса DataServiceContext с указанным значением serviceRoot.
Открытый метод DataServiceContext(Uri, DataServiceProtocolVersion) Инициализирует новый экземпляр класса DataServiceContext с указанным serviceRoot и направляется на указанный maxProtocolVersion.

В начало

Свойства

  Имя Описание
Открытое свойство AddAndUpdateResponsePreference Возвращает или задает, будут ли запросы клиентов, в ответ на которые служба данных возвращает данные сущности, размещаться в запросе на изменение.
Открытое свойство ApplyingChanges Получает значение, указывающее, применяет ли DataServiceContext в настоящее время изменения в отслеживаемых объектах.
Открытое свойство BaseUri Возвращает абсолютный URI, идентифицирующий корневой адрес целевой службы данных.
Открытое свойство Credentials Получает или задает сведения об аутентификации, которые используются всеми запросами, созданными с помощью объекта DataServiceContext.
Открытое свойство DataNamespace Получает или задает пространство имен XML для элементов данных полезной нагрузки Atom, не являющихся элементами метаданных.
Открытое свойство Entities Получает список всех ресурсов, которые в настоящее время отслеживаются с помощью DataServiceContext.
Открытое свойство HttpStack Возвращает или задает значение, показывающее тип HTTP-реализации, которая используется для доступа к службе данных.Поддерживается только клиентом служб данных WCF Data Services 5.0 для Silverlight.
Открытое свойство IgnoreMissingProperties Получает или задает для свойств, считанных из типа, необходимость сопоставления со свойствами типа на стороне клиента.
Открытое свойство IgnoreResourceNotFoundException Возвращает или задает исключение, возникающие в случае, если служба данных возвращает ошибку 404 (ресурс не найден).
Открытое свойство Links Возвращает коллекцию всех ассоциаций или ссылок, которые в настоящее время отслеживаются с помощью объекта DataServiceContext.
Открытое свойство MaxProtocolVersion Возвращает максимальную версию Протокол Open Data Protocol (OData), которую клиент может использовать.
Открытое свойство MergeOption Возвращает или задает параметр синхронизации для получения сущностей из службы данных.
Открытое свойство ResolveEntitySet Возвращает или задает метод делегата, который используется для определения URI набора сущностей, когда невозможно определить значение из URI edit-link или self-link.
Открытое свойство ResolveName Возвращает или задает функцию для переопределения стратегии определения типа по умолчанию, которая используется клиентской библиотекой при отправке сущностей в службу данных.
Открытое свойство ResolveType Возвращает или задает функцию для переопределения параметра определения типа по умолчанию, который используется клиентской библиотекой при получении сущностей из службы данных.
Открытое свойство SaveChangesDefaultOptions Возвращает или задает значения SaveChangesOptions, которые используются методом SaveChanges.
Открытое свойство Timeout Возвращает или задает параметр ожидания (в секундах), который используется для базового HTTP-запроса к службе данных.
Открытое свойство TypeScheme Возвращает или задает URI, используемый для указания схемы типа, используемой службой.
Открытое свойство UseDefaultCredentials Возвращает или задает, используются ли учетные данные по умолчанию для проверки подлинности запросов к службе данных. Поддерживается только клиентом служб данных WCF Data Services 5.0 для Silverlight.
Открытое свойство UsePostTunneling Возвращает или задает логическое значение, указывающее, следует ли использовать POST-туннелирование.

В начало

Методы

  Имя Описание
Открытый метод AddLink Добавляет указанную ссылку к набору отслеживаемых объектов DataServiceContext.
Открытый метод AddObject Добавляет указанный объект к набору отслеживаемых объектов DataServiceContext.
Открытый метод AddRelatedObject Добавляет связанный объект к контексту и создает ссылку, которая определяет отношение между двумя объектами в одном запросе.
Открытый метод AttachLink Уведомляет DataServiceContext о начале отслеживания указанной ссылки, которая определяет связь между объектами сущности.
Открытый метод AttachTo(String, Object) Уведомляет DataServiceContext о начале отслеживания указанного ресурса и предоставляет расположение ресурса в рамках указанного набора ресурсов.
Открытый метод AttachTo(String, Object, String) Уведомляет DataServiceContext о начале отслеживания указанного ресурса и предоставляет расположение ресурса в указанном наборе ресурсов.
Открытый метод BeginExecute(Uri, AsyncCallback, Object, String, array<OperationParameter[]) Асинхронно отправляет запрос в службу данных для выполнения указанного URI.
Открытый метод BeginExecute<TElement>(Uri, AsyncCallback, Object) Асинхронно отправляет запрос таким образом, чтобы этот вызов не блокировал обработку на время ожидания результатов от службы.
Открытый метод BeginExecute<T>(DataServiceQueryContinuation<T>, AsyncCallback, Object) Асинхронно отправляет запрос в службу данных для получения следующей страницы данных в результатах запроса, разбитых на страницы.
Открытый метод BeginExecute<TElement>(Uri, AsyncCallback, Object, String, Boolean, array<OperationParameter[]) Асинхронно отправляет запрос в службу данных для выполнения указанного URI.
Открытый метод BeginExecuteBatch Асинхронно передает группу запросов в службу данных в виде пакета.
Открытый метод BeginGetReadStream(Object, DataServiceRequestArgs, AsyncCallback, Object) Асинхронно получает поток двоичных данных, принадлежащий к указанной сущности, используя указанные заголовки сообщения.
Открытый метод BeginGetReadStream(Object, String, DataServiceRequestArgs, AsyncCallback, Object) Асинхронно получает именованный поток двоичных данных, принадлежащий к указанной сущности, используя указанные заголовки сообщения.
Открытый метод BeginLoadProperty(Object, String, AsyncCallback, Object) Асинхронно загружает значение указанного свойства из службы данных.
Открытый метод BeginLoadProperty(Object, String, DataServiceQueryContinuation, AsyncCallback, Object) Асинхронно загружает следующую страницу связанных сущностей из службы данных с использованием предоставленного объекта-продолжения запроса.
Открытый метод BeginLoadProperty(Object, String, Uri, AsyncCallback, Object) Асинхронно загружает страницу связанных сущностей из службы данных с использованием предоставленного URI следующей ссылки.
Открытый метод BeginSaveChanges(AsyncCallback, Object) Асинхронно пересылает отложенные изменения в службу данных, собирая их с помощью DataServiceContext с момента последнего сохранения изменений.
Открытый метод BeginSaveChanges(SaveChangesOptions, AsyncCallback, Object) Асинхронно пересылает отложенные изменения в службу данных, собирая их с помощью DataServiceContext с момента последнего сохранения изменений.
Открытый метод CancelRequest Пытается отменить операцию, связанную с полученным объектом IAsyncResult.
Открытый метод CreateQuery<T> Создает запрос к службе данных для данных указанного универсального типа.
Открытый метод DeleteLink Изменяет состояние ссылки на удаленное в списке ссылок, который отслеживается DataServiceContext.
Открытый метод DeleteObject Изменяет состояние указанного объекта на удаленное в DataServiceContext.
Открытый метод Detach Удаляет сущность из списка сущностей, отслеживаемых DataServiceContext.
Открытый метод DetachLink Удаляет указанную ссылку из списка ссылок, отслеживаемых DataServiceContext.
Открытый метод EndExecute(IAsyncResult) Вызывается для завершения BeginExecute.
Открытый метод EndExecute<TElement>(IAsyncResult) Вызывается для завершения BeginExecute.
Открытый метод EndExecuteBatch Вызывается для завершения BeginExecuteBatch.
Открытый метод EndGetReadStream Вызывается для завершения асинхронной операции извлечения потока двоичных данных.
Открытый метод EndLoadProperty Вызывается для завершения операции BeginLoadProperty.
Открытый метод EndSaveChanges Вызывается для завершения операции BeginSaveChanges.
Открытый метод Equals (Производный от Object.)
Открытый метод Execute(Uri, String, array<OperationParameter[]) Отправляет запрос в службу данных для выполнения указанного URI с помощью конкретного метода HTTP.Не поддерживается клиентом служб данных WCF Data Services 5.0 для Silverlight.
Открытый метод Execute<TElement>(Uri) Пересылает запрос в службу данных для выполнения указанного URI.Не поддерживается клиентом служб данных WCF Data Services 5.0 для Silverlight.
Открытый метод Execute<T>(DataServiceQueryContinuation<T>) Отправляет запрос в службу данных для получения следующей страницы данных в результатах запроса, разбитых на страницы.Не поддерживается клиентом служб данных WCF Data Services 5.0 для Silverlight.
Открытый метод Execute<TElement>(Uri, String, Boolean, array<OperationParameter[]) Отправляет запрос в службу данных для выполнения указанного URI с помощью конкретного метода HTTP.Не поддерживается клиентом служб данных WCF Data Services 5.0 для Silverlight.
Открытый метод ExecuteBatch Синхронно передает группу запросов в службу данных в виде пакета.Не поддерживается клиентом служб данных WCF Data Services 5.0 для Silverlight.
Защищенный метод Finalize (Производный от Object.)
Открытый метод GetEntityDescriptor Получает EntityDescriptor для полученного объекта сущности.
Открытый метод GetHashCode (Производный от Object.)
Открытый метод GetLinkDescriptor Получает LinkDescriptor для указанной ссылки, которая определяет связь между двумя сущностями.
Открытый метод GetMetadataUri Возвращает URI расположения метаданных .edmx.
Открытый метод GetReadStream(Object) Получает поток двоичных данных, который принадлежит к указанной сущности.Не поддерживается клиентом служб данных WCF Data Services 5.0 для Silverlight.
Открытый метод GetReadStream(Object, DataServiceRequestArgs) Получает поток двоичных данных для указанной сущности, используя указанные заголовки сообщения.Не поддерживается клиентом служб данных WCF Data Services 5.0 для Silverlight.
Открытый метод GetReadStream(Object, String) Получает поток двоичных данных, принадлежащий к указанной сущности, используя указанный заголовок сообщения Content-Type.Не поддерживается клиентом служб данных WCF Data Services 5.0 для Silverlight.
Открытый метод GetReadStream(Object, String, DataServiceRequestArgs) Получает именованный поток двоичных данных, принадлежащий к указанной сущности, используя указанный заголовок сообщения Content-Type.Не поддерживается клиентом служб данных WCF Data Services 5.0 для Silverlight.
Открытый метод GetReadStreamUri(Object) Получает URI, используемый для возврата потока двоичных данных.
Открытый метод GetReadStreamUri(Object, String) Получает URI, используемый для возврата именованного потока двоичных данных.
Открытый метод GetType (Производный от Object.)
Открытый метод LoadProperty(Object, String) Загружает отложенное содержание для указанного свойства из службы данных.Не поддерживается клиентом служб данных WCF Data Services 5.0 для Silverlight.
Открытый метод LoadProperty(Object, String, DataServiceQueryContinuation) Загружает следующую страницу связанных сущностей из службы данных с использованием предоставленного объекта-продолжения запроса.Не поддерживается клиентом служб данных WCF Data Services 5.0 для Silverlight.
Открытый метод LoadProperty(Object, String, Uri) Загружает страницу связанных сущностей с использованием предоставленного следующего URI ссылки.Не поддерживается клиентом служб данных WCF Data Services 5.0 для Silverlight.
Открытый метод LoadProperty<T>(Object, String, DataServiceQueryContinuation<T>) Загружает следующую страницу связанных сущностей из службы данных с использованием предоставленного универсального объекта-продолжения запроса.Не поддерживается клиентом служб данных WCF Data Services 5.0 для Silverlight.
Защищенный метод MemberwiseClone (Производный от Object.)
Открытый метод SaveChanges() Сохраняет изменения, которые DataServiceContext отслеживает в хранилище.Не поддерживается клиентом служб данных WCF Data Services 5.0 для Silverlight.
Открытый метод SaveChanges(SaveChangesOptions) Сохраняет изменения, которые DataServiceContext отслеживает в хранилище.Не поддерживается клиентом служб данных WCF Data Services 5.0 для Silverlight.
Открытый метод SetLink Уведомляет DataServiceContext, что имеется новая ссылка между указанными объектами и что ссылка представлена свойством, указанным параметром sourceProperty.
Открытый метод SetSaveStream(Object, Stream, Boolean, DataServiceRequestArgs) Получает поток двоичных данных для указанной сущности с указанными заголовками в сообщении запроса.
Открытый метод SetSaveStream(Object, Stream, Boolean, String, String) Получает поток двоичных данных, принадлежащий к указанной сущности, используя указанные заголовки Content-Type и Slug в сообщении запроса.
Открытый метод SetSaveStream(Object, String, Stream, Boolean, DataServiceRequestArgs) Получает именованный поток двоичных данных, принадлежащий к указанной сущности, используя указанные заголовки Content-Type и Slug в сообщении запроса.
Открытый метод SetSaveStream(Object, String, Stream, Boolean, String) Задает поток двоичных данных для указанной сущности.
Открытый метод ToString (Производный от Object.)
Открытый метод TryGetEntity<TEntity> Тестовые извлечение сущности, отслеживаемой DataServiceContext со ссылкой на URI сущности.
Открытый метод TryGetUri Извлекает канонический URI, связанный с указанной сущностью (если есть).
Открытый метод UpdateObject Изменяет состояние указанного объекта в DataServiceContext на Modified.

В начало

События

  Имя Описание
Открытое событие ReadingEntity Происходит после полного считывания данных сущности в объекте сущности.
Открытое событие SendingRequest Происходит при создании нового HttpWebRequest.
Открытое событие SendingRequest2 Происходит при создании нового HttpWebRequest.
Открытое событие WritingEntity Происходит после того, как сущность полностью сериализуется в XML в сообщении запроса.

В начало

Замечания

Службы WCF Data Services не поддерживает состояние, а DataServiceContext поддерживает. На клиентском компьютере состояние поддерживается между операциями, что обеспечивает поддержку таких возможностей, как управление обновлениями. Этот класс и класс DataServiceQuery, представляющий конкретный HTTP-запрос к службе данных, являются двумя основными классами в клиентской библиотеке.

Примеры

В следующем примере показано, как использовать контекст DataServiceContext, созданный инструментом «Добавить ссылку на службу» для неявного выполнения запроса к службе данных Northwind, возвращающей всех клиентов. URI запрашиваемого набора сущностей Customers автоматически определяется контекстом. Запрос выполняется неявно при запуске перечисления. Служба данных Northwind создается при завершении Службы WCF Data Services? краткого руководства.

' Create the DataServiceContext using the service URI.
Dim context = New NorthwindEntities(svcUri)

' Define a new query for Customers.
Dim query As DataServiceQuery(Of Customer) = context.Customers

Try
    ' Enumerate over the query result, which is executed implicitly.
    For Each customer As Customer In query
        Console.WriteLine("Customer Name: {0}", customer.CompanyName)
    Next
Catch ex As DataServiceQueryException
    Throw New ApplicationException( _
            "An error occurred during query execution.", ex)
End Try
// Create the DataServiceContext using the service URI.
NorthwindEntities context = new NorthwindEntities(svcUri);

// Define a new query for Customers.
DataServiceQuery<Customer> query = context.Customers;

try
{
    // Enumerate over the query result, which is executed implicitly.
    foreach (Customer customer in query)
    {
        Console.WriteLine("Customer Name: {0}", customer.CompanyName);
    }
}
catch (DataServiceQueryException ex)
{
    throw new ApplicationException(
        "An error occurred during query execution.", ex);
}

Безопасность многопоточности

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

См. также

Справочник

Пространство имен System.Data.Services.Client

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

Данные клиента (WCF Data Services)