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.
- operationContext
Tipo: System.Data.Services.DataServiceOperationContext
Istanza DataServiceOperationContext utilizzata dal servizio dati per elaborare la 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 |
---|---|
Quando entity o operationContext è Null. |
|
Quando entity non dispone di una proprietà binaria. |
|
Quando non è possibile restituire un flusso valido. |