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.
- operationContext
Tipo: System.Data.Services.DataServiceOperationContext
La instancia de DataServiceOperationContext utilizada por el servicio de datos para procesar 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 |
---|---|
Cuando entity o operationContext son nulles una referencia NULL (Nothing en Visual Basic).. |
|
Cuando entity no tiene una propiedad binaria. |
|
Cuando no se puede devolver un flujo válido. |