Compartir a través de


IDataServiceStreamProvider.GetWriteStream Método

Devuelve el flujo que el servicio de datos utiliza para escribir los datos binarios del recurso multimedia recibido del cliente que pertenece a la entidad especificada.

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

Sintaxis

'Declaración
Function GetWriteStream ( _
    entity As Object, _
    etag As String, _
    checkETagForEquality As Nullable(Of Boolean), _
    operationContext As DataServiceOperationContext _
) As Stream
'Uso
Dim instance As IDataServiceStreamProvider
Dim entity As Object
Dim etag As String
Dim checkETagForEquality As Nullable(Of Boolean)
Dim operationContext As DataServiceOperationContext
Dim returnValue As Stream

returnValue = instance.GetWriteStream(entity, _
    etag, checkETagForEquality, operationContext)
Stream GetWriteStream(
    Object entity,
    string etag,
    Nullable<bool> checkETagForEquality,
    DataServiceOperationContext operationContext
)
Stream^ GetWriteStream(
    Object^ entity, 
    String^ etag, 
    Nullable<bool> checkETagForEquality, 
    DataServiceOperationContext^ operationContext
)
abstract GetWriteStream : 
        entity:Object * 
        etag:string * 
        checkETagForEquality:Nullable<bool> * 
        operationContext:DataServiceOperationContext -> Stream 
function GetWriteStream(
    entity : Object, 
    etag : String, 
    checkETagForEquality : Nullable<boolean>, 
    operationContext : DataServiceOperationContext
) : Stream

Parámetros

  • entity
    Tipo: System.Object
    La entidad que es una entrada de vínculo multimedia con un recurso multimedia relacionado.
  • etag
    Tipo: System.String
    El valor eTag que se envía como parte de la solicitud HTTP que se envía al servicio de datos.
  • checkETagForEquality
    Tipo: System.Nullable<Boolean>
    Un valor Boolean que acepta valores NULL que determina qué clase de solicitud condicional se emitió al servicio de datos, que es true cuando el eTag se envió en un encabezado If-Match, false cuando el eTag se envió en un encabezado If-None-Match y nulles una referencia NULL (Nothing en Visual Basic). cuando la solicitud no era condicional y el eTag se incluyó en la solicitud.

Valor devuelto

Tipo: System.IO.Stream
Un Stream válido que el servicio de datos utiliza para escribir el contenido de los datos binarios recibidos del cliente.

Comentarios

El tiempo de ejecución del servicio de datos llama al método GetWriteStream cuando se está procesando una operación de inserción o de actualización para el recurso multimedia que está asociado a entity.

El método GetWriteStream nunca debe devolver un valor nulles una referencia NULL (Nothing en Visual Basic)..

operationContext se proporciona como un argumento porque un implementador de este método de interfaz necesitará información de los encabezados de solicitud HTTP para crear un flujo de escritura. Al implementar este método, debe realizar comprobaciones de simultaneidad según sea necesario. Si se incluyó un encabezado de solicitud If-Match o If-None-Match en la solicitud, etag no será nulles una referencia NULL (Nothing en Visual Basic).. En este caso, este método debe realizar la comprobación de simultaneidad adecuada. Si se aprueba la comprobación de simultaneidad, este método debería devolver el flujo solicitado. Si no se supera la comprobación de simultaneidad, el método debería generar una DataServiceException con el código de respuesta HTTP adecuado.

eTag es el valor de un encabezado If-Match o If-None-Match.

Al implementar este método, no debe establecer los encabezados de respuesta HTTP Content-Type o eTag porque los establece el tiempo de ejecución del servicio de datos. Puede establecer los encabezados de respuesta HTTP restantes utilizando el operationContext proporcionado.

Al implementar este método, solo debe establecer las propiedades en operationContext que sean necesarias para una respuesta correcta. Cambiar otras propiedades en operationContext puede dañar la respuesta del servicio de datos.

El tiempo de ejecución del servicio de datos cierra el flujo cuando todos los bytes se han escrito correctamente en el flujo. Si se produce un error escribiendo en el flujo, el servicio de datos genera una respuesta de error al cliente.

Al implementar el método GetWriteStream, debería generar las siguientes excepciones como se indica:

Tipo de excepción

Condición

ArgumentNullException

Cuando entity o operationContext son nulles una referencia NULL (Nothing en Visual Basic)..

ArgumentException

Cuando entity no tiene una propiedad binaria.

DataServiceException

Cuando no se puede devolver un flujo válido.

Vea también

Referencia

IDataServiceStreamProvider Interfaz

Espacio de nombres System.Data.Services.Providers