Condividi tramite


Metodo IDataServiceStreamProvider.GetWriteStream

Restituisce il flusso utilizzato dal servizio dati per scrivere i dati binari per la risorsa multimediale ricevuta dal client che appartiene all'entità specificata.

Spazio dei nomi  System.Data.Services.Providers
Assembly:  Microsoft.Data.Services (in Microsoft.Data.Services.dll)

Sintassi

'Dichiarazione
Function GetWriteStream ( _
    entity As Object, _
    etag As String, _
    checkETagForEquality As Nullable(Of Boolean), _
    operationContext As DataServiceOperationContext _
) As Stream
'Utilizzo
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

Parametri

  • entity
    Tipo: System.Object
    Entità che è una voce di collegamento multimediale con una risorsa multimediale correlata.
  • etag
    Tipo: System.String
    Valore eTag inviato come parte della richiesta HTTP inviata al servizio dati.
  • checkETagForEquality
    Tipo: System.Nullable<Boolean>
    Valore Boolean che ammette valori null che determina quale tipo di richiesta condizionale viene inoltrata al servizio dati, che è true quando l'eTag è stato inviato in un'intestazione If-Match, false quando l'eTag è stato inviato in un'intestazione If-None-Match e nullriferimento Null (Nothing in Visual Basic). quando la richiesta non era condizionale e non era incluso alcun eTag nella richiesta.

Valore restituito

Tipo: System.IO.Stream
Valore Stream valido utilizzato dal servizio dati per scrivere il contenuto di dati binari ricevuti dal client.

Osservazioni

Il metodo GetWriteStream viene chiamato dal runtime del servizio dati quando viene elaborata un'operazione di inserimento o aggiornamento per la risorsa multimediale associata all'elemento entity.

Il metodo GetWriteStream non deve mai restituire un valore nullriferimento Null (Nothing in Visual Basic)..

operationContext viene fornito come argomento perché un responsabile dell'implementazione di questo metodo di interfaccia avrà bisogno di informazioni dalle intestazioni della richiesta HTTP per creare un flusso di scrittura. Quando si implementa questo metodo, è necessario eseguire controlli della concorrenza secondo le esigenze. Se un'intestazione di richiesta If-Match o If-None-Match è inclusa nella richiesta, etag non sarà nullriferimento Null (Nothing in Visual Basic).. In questo caso, il metodo deve eseguire il controllo della concorrenza appropriato. Se il controllo della concorrenza viene superato, il metodo restituisce il flusso richiesto. Se i controlli della concorrenza hanno esito negativo, il metodo genera un oggetto DataServiceException con il codice della risposta HTTP appropriato.

eTag è il valore di un'intestazione If-Match o If-None-Match.

Quando si implementa questo metodo, le intestazioni di risposta HTTP Content-Type o eTag non devono essere impostate perché vengono impostate dal runtime del servizio dati. È possibile impostare le intestazioni di risposta HTTP restanti tramite l'elemento operationContext fornito.

Quando si implementa questo metodo, è necessario impostare solo le proprietà in operationContext richieste per una risposta riuscita. La modifica di altre proprietà in operationContext può provocare danni alla risposta dal servizio dati.

Il runtime del servizio dati chiude il flusso quando tutti i byte sono stati scritti correttamente nel flusso. Se si verifica un errore durante la scrittura nel flusso, il servizio dati genera una risposta di errore al client.

Quando si implementa il metodo GetWriteStream, è necessario generare le eccezioni seguenti come indicato:

Tipo di eccezione

Condizione

ArgumentNullException

Quando entity o operationContext è Null.

ArgumentException

Quando entity non dispone di una proprietà binaria.

DataServiceException

Quando non è possibile restituire un flusso valido.

Vedere anche

Riferimento

IDataServiceStreamProvider Interfaccia

Spazio dei nomi System.Data.Services.Providers