IDataServiceStreamProvider.GetWriteStream 메서드
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
데이터 서비스가 지정된 엔터티에 속한 클라이언트에서 받은 미디어 리소스에 대한 이진 데이터를 쓰는 데 사용하는 스트림을 반환합니다.
public:
System::IO::Stream ^ GetWriteStream(System::Object ^ entity, System::String ^ etag, Nullable<bool> checkETagForEquality, System::Data::Services::DataServiceOperationContext ^ operationContext);
public System.IO.Stream GetWriteStream (object entity, string etag, bool? checkETagForEquality, System.Data.Services.DataServiceOperationContext operationContext);
abstract member GetWriteStream : obj * string * Nullable<bool> * System.Data.Services.DataServiceOperationContext -> System.IO.Stream
Public Function GetWriteStream (entity As Object, etag As String, checkETagForEquality As Nullable(Of Boolean), operationContext As DataServiceOperationContext) As Stream
매개 변수
- entity
- Object
관련 미디어 리소스가 있는 미디어 링크 항목인 엔터티입니다.
- etag
- String
데이터 서비스에 전송되는 HTTP 요청의 일부로 보낸 eTag 값입니다.
- operationContext
- DataServiceOperationContext
데이터 서비스에서 요청을 처리하는 데 사용되는 DataServiceOperationContext 인스턴스입니다.
반환
데이터 서비스가 클라이언트에서 받은 이진 데이터의 내용을 쓰는 데 사용하는 유효한 Stream입니다.
설명
GetWriteStream 메서드는 entity
와 연결된 미디어 리소스에 대한 삽입 또는 업데이트 작업이 처리 중일 때 데이터 서비스 런타임에서 호출됩니다.
GetWriteStream 메서드는 반환 하지는 null
값입니다.
operationContext
는 이 인터페이스 메서드의 구현에서 쓰기 스트림을 만들려면 HTTP 요청 헤더의 정보가 필요하므로 인수로 제공됩니다. 이 메서드를 구현하는 경우 필요에 따라 동시성 검사를 수행해야 합니다. If-match 또는 None-If-match 요청 헤더를 요청에 포함 된 경우는 etag
되지 null
합니다. 이 경우 이 메서드는 적절한 동시성 검사를 수행해야 합니다. 동시성 검사에 통과한 경우 이 메서드는 요청한 스트림을 반환해야 합니다. 동시성 검사에 실패한 경우 이 메서드는 적절한 HTTP 응답 코드로 DataServiceException을 발생시켜야 합니다.
eTag
는 If-Match 또는 If-None-Match 헤더의 값입니다.
다음 값 checkETagForEquality
지원 됩니다.
true
-때 eTag는 If-match 헤더를 나타냅니다.false
-eTag를 None-If-match 헤더를 나타내는 경우.null
-If-match 또는 None-If-match 헤더를 요청에 없는 경우.
이 메서드를 구현하는 경우 콘텐츠 형식 또는 eTag HTTP 응답 헤더를 설정해서는 안 됩니다. 콘텐츠 형식 또는 eTag HTTP 응답 헤더는 데이터 서비스 런타임에서 설정됩니다. 나머지 HTTP 응답 헤더는 제공된 operationContext
를 사용하여 설정할 수 있습니다.
이 메서드를 구현하는 경우 성공적인 응답에 필요한 operationContext
속성만 설정해야 합니다. operationContext
의 다른 속성을 변경하면 데이터 서비스의 응답이 손상될 수 있습니다.
모든 바이트가 스트림에 기록되면 데이터 서비스 런타임에서 스트림을 닫습니다. 스트림에 쓰는 동안 오류가 발생한 경우 데이터 서비스에서 클라이언트에 대한 오류 응답을 생성합니다.
GetWriteStream 메서드를 구현하는 경우 표시된 대로 다음 예외를 발생시켜야 합니다.
예외 종류 | 조건 |
---|---|
ArgumentNullException | entity 또는 operationContext 이 null 인 경우 |
ArgumentException | entity 에 이진 속성이 없는 경우 |
DataServiceException | 유효한 스트림을 반환할 수 없는 경우 |
적용 대상
.NET