Compartir a través de


Clase DataServiceContext

DataServiceContext representa el contexto en tiempo de ejecución del servicio de datos.

Jerarquía de herencia

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

Espacio de nombres:  System.Data.Services.Client
Ensamblado:  Microsoft.Data.Services.Client (en Microsoft.Data.Services.Client.dll)

Sintaxis

'Declaración
Public Class DataServiceContext
'Uso
Dim instance As DataServiceContext
public class DataServiceContext
public ref class DataServiceContext
type DataServiceContext =  class end
public class DataServiceContext

El tipo DataServiceContext expone los siguientes miembros.

Constructores

  Nombre Descripción
Método público DataServiceContext() Inicializa una nueva instancia de la clase DataServiceContext.
Método público DataServiceContext(Uri) Inicializa una nueva instancia de la clase DataServiceContext con la serviceRoot especificada.
Método público DataServiceContext(Uri, DataServiceProtocolVersion) Inicializa un nueva instancia de la clase DataServiceContext con la serviceRoot especificada y destinada a la maxProtocolVersion específica.

Arriba

Propiedades

  Nombre Descripción
Propiedad pública AddAndUpdateResponsePreference Obtiene o establece si el cliente solicita que el servicio de datos devuelva datos de entidad en el mensaje de respuesta a una solicitud de cambio.
Propiedad pública ApplyingChanges Obtiene un valor que indica si DataServiceContext está aplicando actualmente los cambios a los objetos de los que se realiza un seguimiento.
Propiedad pública BaseUri Obtiene el URI absoluto que identifica la raíz del servicio de datos de destino.
Propiedad pública Credentials Obtiene o establece la información de autenticación usada por cada consulta creada mediante el objeto DataServiceContext.
Propiedad pública DataNamespace Obtiene o establece el espacio de nombres XML de los elementos de datos, no de los elementos de metadatos, de una carga de Atom.
Propiedad pública Entities Obtiene una lista de todos los recursos cuyo seguimiento realiza actualmente DataServiceContext.
Propiedad pública HttpStack Obtiene un valor que indica el tipo de implementación HTTP que se va a usar al obtener acceso al servicio de datos.Compatible solo con el cliente de WCF Data Services 5.0 para Silverlight.
Propiedad pública IgnoreMissingProperties Obtiene o establece si las propiedades leídas del tipo deben asignarse a propiedades del tipo del lado cliente.
Propiedad pública IgnoreResourceNotFoundException Obtiene o establece si se produce una excepción cuando el servicio de datos devuelve un error 404 (recurso no encontrado).
Propiedad pública Links Obtiene la colección de todas las asociaciones o vínculos cuyo seguimiento realiza actualmente el objeto DataServiceContext.
Propiedad pública MaxProtocolVersion Obtiene la versión máxima de Open Data Protocol (OData) que el cliente puede usar.
Propiedad pública MergeOption Obtiene o establece la opción de sincronización para recibir entidades de un servicio de datos.
Propiedad pública ResolveEntitySet Obtiene o establece el método delegado que se usa para resolver el URI de conjunto de entidades cuando el valor no se puede determinar a partir de un URI de vínculo de edición o de vínculo a sí mismo.
Propiedad pública ResolveName Obtiene o establece una función para invalidar la estrategia de resolución de tipos predeterminada usada por la biblioteca cliente al enviar entidades a un servicio de datos.
Propiedad pública ResolveType Obtiene o establece una función que se usa para invalidar la opción de resolución de tipos predeterminada usada por la biblioteca cliente cuando se reciben entidades de un servicio de datos.
Propiedad pública SaveChangesDefaultOptions Obtiene o establece los valores SaveChangesOptions usados por el método SaveChanges.
Propiedad pública Timeout Obtiene o establece la opción de tiempo de espera (en segundos) que se usa para la solicitud HTTP subyacente al servicio de datos.
Propiedad pública TypeScheme Obtiene o establece el URI usado para indicar qué tipo de esquema usa el servicio.
Propiedad pública UseDefaultCredentials Obtiene o establece si se usan las credenciales predeterminadas para autenticar solicitudes al servicio de datos. Compatible solo con el cliente de WCF Data Services 5.0 para Silverlight.
Propiedad pública UsePostTunneling Obtiene o establece un valor booleano que indica si se debe usar la tunelización POST.

Arriba

Métodos

  Nombre Descripción
Método público AddLink Agrega el vínculo especificado al conjunto de objetos cuyo seguimiento realiza DataServiceContext.
Método público AddObject Agrega el objeto especificado al conjunto de objetos cuyo seguimiento realiza DataServiceContext.
Método público AddRelatedObject Agrega un objeto relacionado al contexto y crea el vínculo que define la relación entre los dos objetos en una única solicitud.
Método público AttachLink Notifica a DataServiceContext que empiece a realizar el seguimiento del vínculo especificado que define una relación entre los objetos de entidad.
Método público AttachTo(String, Object) Notifica a DataServiceContext que empiece a realizar el seguimiento del recurso especificado y proporciona la ubicación del recurso dentro del conjunto de recursos especificado.
Método público AttachTo(String, Object, String) Notifica a DataServiceContext que empiece a realizar el seguimiento del recurso especificado y proporciona la ubicación del recurso en el conjunto de recursos especificado.
Método público BeginExecute(Uri, AsyncCallback, Object, String, array<OperationParameter[]) Envía de forma asincrónica una solicitud al servicio de datos para ejecutar un URI concreto.
Método público BeginExecute<TElement>(Uri, AsyncCallback, Object) Envía de forma asincrónica la solicitud para que esta llamada no bloquee el procesamiento mientras se esperan los resultados del servicio.
Método público BeginExecute<T>(DataServiceQueryContinuation<T>, AsyncCallback, Object) Envía de forma asincrónica una solicitud al servicio de datos para recuperar la página siguiente de datos en un resultado de consulta paginado.
Método público BeginExecute<TElement>(Uri, AsyncCallback, Object, String, Boolean, array<OperationParameter[]) Envía de forma asincrónica una solicitud al servicio de datos para ejecutar un URI concreto.
Método público BeginExecuteBatch Envía de forma asincrónica un grupo de consultas como un lote al servicio de datos.
Método público BeginGetReadStream(Object, DataServiceRequestArgs, AsyncCallback, Object) Obtiene de forma asincrónica el flujo de datos binarios que pertenece a la entidad especificada, usando los encabezados de mensaje especificados.
Método público BeginGetReadStream(Object, String, DataServiceRequestArgs, AsyncCallback, Object) Obtiene de forma asincrónica un flujo de datos binarios con nombre que pertenece a la entidad especificada, usando los encabezados de mensaje especificados.
Método público BeginLoadProperty(Object, String, AsyncCallback, Object) Carga de forma asincrónica el valor de la propiedad especificada del servicio de datos.
Método público BeginLoadProperty(Object, String, DataServiceQueryContinuation, AsyncCallback, Object) Carga de forma asincrónica la página siguiente de entidades relacionadas del servicio de datos usando el objeto de continuación de consulta proporcionado.
Método público BeginLoadProperty(Object, String, Uri, AsyncCallback, Object) Carga de forma asincrónica una página de entidades relacionadas del servicio de datos usando el URI de vínculo siguiente proporcionado.
Método público BeginSaveChanges(AsyncCallback, Object) Envía de forma asincrónica los cambios pendientes al servicio de datos recopilados por DataServiceContext desde la última vez que se guardaron los cambios.
Método público BeginSaveChanges(SaveChangesOptions, AsyncCallback, Object) Envía de forma asincrónica los cambios pendientes al servicio de datos recopilados por DataServiceContext desde la última vez que se guardaron los cambios.
Método público CancelRequest Intenta cancelar la operación asociada al objeto IAsyncResult proporcionado.
Método público CreateQuery<T> Crea una consulta de servicio de datos para los datos de un tipo genérico especificado.
Método público DeleteLink Cambia el estado del vínculo a eliminado en la lista de vínculos cuyo seguimiento realiza DataServiceContext.
Método público DeleteObject Cambia el estado del objeto especificado que se va a eliminar en DataServiceContext.
Método público Detach Quita la entidad de la lista de entidades de las que DataServiceContext está realizando un seguimiento.
Método público DetachLink Quita el vínculo especificado de la lista de vínculos cuyo seguimiento realiza DataServiceContext.
Método público EndExecute(IAsyncResult) Se le llama para completar BeginExecute.
Método público EndExecute<TElement>(IAsyncResult) Se le llama para completar BeginExecute.
Método público EndExecuteBatch Se le llama para completar BeginExecuteBatch.
Método público EndGetReadStream Se le llama para completar la operación asincrónica de recuperar un flujo de datos binarios.
Método público EndLoadProperty Se le llama para completar la operación BeginLoadProperty.
Método público EndSaveChanges Se le llama para completar la operación BeginSaveChanges.
Método público Equals (Se hereda de Object.)
Método público Execute(Uri, String, array<OperationParameter[]) Envía una solicitud al servicio de datos para ejecutar un URI específico usando un método HTTP determinado.No compatible con el cliente de WCF Data Services 5.0 para Silverlight.
Método público Execute<TElement>(Uri) Envía una solicitud al servicio de datos para ejecutar un URI concreto.No compatible con el cliente de WCF Data Services 5.0 para Silverlight.
Método público Execute<T>(DataServiceQueryContinuation<T>) Envía una solicitud al servicio de datos para recuperar la página siguiente de datos en un resultado de consulta paginado.No compatible con el cliente de WCF Data Services 5.0 para Silverlight.
Método público Execute<TElement>(Uri, String, Boolean, array<OperationParameter[]) Envía una solicitud al servicio de datos para ejecutar un URI específico usando un método HTTP determinado.No compatible con el cliente de WCF Data Services 5.0 para Silverlight.
Método público ExecuteBatch Envía de forma sincrónica un grupo de consultas como un lote al servicio de datos.No compatible con el cliente de WCF Data Services 5.0 para Silverlight.
Método protegido Finalize (Se hereda de Object.)
Método público GetEntityDescriptor Obtiene el EntityDescriptor del objeto de entidad proporcionado.
Método público GetHashCode (Se hereda de Object.)
Método público GetLinkDescriptor Obtiene el LinkDescriptor de un vínculo concreto que define la relación entre dos entidades.
Método público GetMetadataUri Obtiene un URI de la ubicación de los metadatos .edmx.
Método público GetReadStream(Object) Obtiene el flujo de datos binarios que pertenece a la entidad especificada.No compatible con el cliente de WCF Data Services 5.0 para Silverlight.
Método público GetReadStream(Object, DataServiceRequestArgs) Obtiene el flujo de datos binarios de la entidad especificada usando los encabezados de mensaje especificados.No compatible con el cliente de WCF Data Services 5.0 para Silverlight.
Método público GetReadStream(Object, String) Obtiene el flujo de datos binarios que pertenece a la entidad especificada, usando el encabezado de mensaje Content-Type especificado.No compatible con el cliente de WCF Data Services 5.0 para Silverlight.
Método público GetReadStream(Object, String, DataServiceRequestArgs) Obtiene un flujo de datos binarios con nombre que pertenece a la entidad especificada, usando el encabezado de mensaje Content-Type especificado.No compatible con el cliente de WCF Data Services 5.0 para Silverlight.
Método público GetReadStreamUri(Object) Obtiene el URI que se emplea para devolver un flujo de datos binarios.
Método público GetReadStreamUri(Object, String) Obtiene el URI que se usa para devolver un flujo de datos binarios con nombre.
Método público GetType (Se hereda de Object.)
Método público LoadProperty(Object, String) Carga el contenido aplazado de una propiedad especificada desde el servicio de datos.No compatible con el cliente de WCF Data Services 5.0 para Silverlight.
Método público LoadProperty(Object, String, DataServiceQueryContinuation) Carga la página siguiente de entidades relacionadas del servicio de datos usando el objeto de continuación de consulta proporcionado.No compatible con el cliente de WCF Data Services 5.0 para Silverlight.
Método público LoadProperty(Object, String, Uri) Carga una página de entidades relacionadas usando el URI de vínculo siguiente proporcionado.No compatible con el cliente de WCF Data Services 5.0 para Silverlight.
Método público LoadProperty<T>(Object, String, DataServiceQueryContinuation<T>) Carga la página siguiente de entidades relacionadas del servicio de datos usando el objeto de continuación de consulta genérico proporcionado.No compatible con el cliente de WCF Data Services 5.0 para Silverlight.
Método protegido MemberwiseClone (Se hereda de Object.)
Método público SaveChanges() Guarda los cambios de los que DataServiceContext realiza un seguimiento.No compatible con el cliente de WCF Data Services 5.0 para Silverlight.
Método público SaveChanges(SaveChangesOptions) Guarda los cambios de los que DataServiceContext realiza un seguimiento.No compatible con el cliente de WCF Data Services 5.0 para Silverlight.
Método público SetLink Notifica a DataServiceContext que existe un nuevo vínculo entre los objetos especificados y que la propiedad especificada por el parámetro sourceProperty representa el vínculo.
Método público SetSaveStream(Object, Stream, Boolean, DataServiceRequestArgs) Establece un flujo de datos binarios para la entidad especificada, con los encabezados especificados en el mensaje de solicitud.
Método público SetSaveStream(Object, Stream, Boolean, String, String) Establece un flujo de datos binarios que pertenece a la entidad especificada, con los encabezados Content-Type y Slug especificados en el mensaje de solicitud.
Método público SetSaveStream(Object, String, Stream, Boolean, DataServiceRequestArgs) Establece un flujo de datos binarios con nombre que pertenece a la entidad especificada, con los encabezados especificados en el mensaje de solicitud.
Método público SetSaveStream(Object, String, Stream, Boolean, String) Establece un flujo de datos binarios para la entidad especificada.
Método público ToString (Se hereda de Object.)
Método público TryGetEntity<TEntity> Prueba la recuperación de una entidad de la que DataServiceContext realiza un seguimiento por referencia al URI de la entidad.
Método público TryGetUri Recupera el URI canónico asociado a la entidad especificada, si está disponible.
Método público UpdateObject Cambia el estado del objeto especificado en DataServiceContext a Modified.

Arriba

Eventos

  Nombre Descripción
Evento público ReadingEntity Se produce una vez leídos completamente los datos de la entidad en el objeto de entidad.
Evento público SendingRequest Se produce cuando se ha creado una nueva HttpWebRequest.
Evento público SendingRequest2 Se produce cuando se ha creado una nueva HttpWebRequest.
Evento público WritingEntity Se produce una vez serializada totalmente una entidad en XML en un mensaje de solicitud.

Arriba

Comentarios

Servicios de datos de Microsoft WCF son sin estado, pero DataServiceContext no lo es. El estado del cliente se mantiene entre las interacciones para admitir características como la administración de actualizaciones. Esta clase, y la clase DataServiceQuery que representa una solicitud HTTP determinada a un servicio de datos, son las dos clases principales de la biblioteca cliente.

Ejemplos

En el ejemplo siguiente se muestra cómo usar el DataServiceContext generado por la herramienta Agregar referencia de servicio para ejecutar implícitamente en el servicio de datos de Northwind una consulta que devuelve todos los clientes. El contexto determina automáticamente el URI del conjunto de entidades Customers solicitado. La consulta se ejecuta implícitamente cuando se produce la enumeración. El servicio de datos Northwind se crea cuando se completa el tutorial rápido de Servicios de datos de Microsoft WCF.

' 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);
}

Seguridad para subprocesos

Cualquier miembro público static (Shared en Visual Basic) de este tipo es seguro para subprocesos. No se garantiza que los miembros de instancia sean seguros para subprocesos.

Vea también

Referencia

Espacio de nombres System.Data.Services.Client

Otros recursos

Cliente de datos (WCF Data Services)