HttpContent Sınıf
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
HTTP varlık gövdesini ve içerik üst bilgilerini temsil eden temel sınıf.
public ref class HttpContent abstract : IDisposable
public abstract class HttpContent : IDisposable
type HttpContent = class
interface IDisposable
Public MustInherit Class HttpContent
Implements IDisposable
- Devralma
-
HttpContent
- Türetilmiş
- Uygulamalar
Örnekler
Aşağıdaki örnekte HttpContentözel uygulaması gösterilmektedir. bazı yöntemler, virtual
olarak tanımlanmalarına rağmen ve abstract
olarak tanımlanmasa da, en iyi davranış için uygulamada yine de geçersiz kılınmalıdır.
public class MyContent : HttpContent
{
private readonly string _data;
public MyContent(string data)
{
_data = data;
}
// Minimal implementation needed for an HTTP request content,
// i.e. a content that will be sent via HttpClient, contains the 2 following methods.
protected override bool TryComputeLength(out long length)
{
// This content doesn't support pre-computed length and
// the request will NOT contain Content-Length header.
length = 0;
return false;
}
// SerializeToStream* methods are internally used by CopyTo* methods
// which in turn are used to copy the content to the NetworkStream.
protected override Task SerializeToStreamAsync(Stream stream, TransportContext? context)
=> stream.WriteAsync(Encoding.UTF8.GetBytes(_data)).AsTask();
// Override SerializeToStreamAsync overload with CancellationToken
// if the content serialization supports cancellation, otherwise the token will be dropped.
protected override Task SerializeToStreamAsync(Stream stream, TransportContext? context, CancellationToken cancellationToken)
=> stream.WriteAsync(Encoding.UTF8.GetBytes(_data), cancellationToken).AsTask();
// In rare cases when synchronous support is needed, e.g. synchronous CopyTo used by HttpClient.Send,
// implement synchronous version of SerializeToStream.
protected override void SerializeToStream(Stream stream, TransportContext? context, CancellationToken cancellationToken)
=> stream.Write(Encoding.UTF8.GetBytes(_data));
// CreateContentReadStream* methods, if implemented, will be used by ReadAsStream* methods
// to get the underlying stream and avoid buffering.
// These methods will not be used by HttpClient on a custom content.
// They are for content receiving and HttpClient uses its own internal implementation for an HTTP response content.
protected override Task<Stream> CreateContentReadStreamAsync()
=> Task.FromResult<Stream>(new MemoryStream(Encoding.UTF8.GetBytes(_data)));
// Override CreateContentReadStreamAsync overload with CancellationToken
// if the content serialization supports cancellation, otherwise the token will be dropped.
protected override Task<Stream> CreateContentReadStreamAsync(CancellationToken cancellationToken)
=> Task.FromResult<Stream>(new MemoryStream(Encoding.UTF8.GetBytes(_data))).WaitAsync(cancellationToken);
// In rare cases when synchronous support is needed, e.g. synchronous ReadAsStream,
// implement synchronous version of CreateContentRead.
protected override Stream CreateContentReadStream(CancellationToken cancellationToken)
=> new MemoryStream(Encoding.UTF8.GetBytes(_data));
}
Açıklamalar
Kullanılabilecek çeşitli HTTP içeriği vardır. Bunlar aşağıdakileri içerir.
ByteArrayContent - Bayt dizisiyle temsil edilen içerik, StringContent ve FormUrlEncodedContentiçin temel sınıf olarak da görev yapar.
StringContent - Varsayılan olarak
UTF-8
kodlamaya sahiptext/plain
Content-Type
olarak seri hale getirilmiş dize tabanlı içerik.FormUrlEncodedContent -
application/x-www-form-urlencoded
Content-Type
olarak seri hale getirilmiş ad/değer tanımlama demetlerine sahip bir içerik.MultipartContent - Birden çok farklı HttpContent nesnesini
multipart/*
Content-Type
olarak seri hale getirebilen içerik.JsonContent - Nesneleri varsayılan olarak
UTF-8
kodlama ileapplication/json
Content-Type
olarak seri hale getiren içerik.
HTTP içerik sınıfı, özel içerik serileştirme mantığı sağlamak için bir kullanıcı tarafından türetilebilir.
Oluşturucular
HttpContent() |
HttpContent sınıfının yeni bir örneğini başlatır. |
Özellikler
Headers |
RFC 2616'da tanımlandığı gibi HTTP içerik üst bilgilerini alır. |
Yöntemler
CopyTo(Stream, TransportContext, CancellationToken) |
HTTP içeriğini bir bayt akışına seri hale getirerek |
CopyToAsync(Stream) |
HTTP içeriğini bir bayt akışına seri hale getirin ve |
CopyToAsync(Stream, CancellationToken) |
HTTP içeriğini bir bayt akışına seri hale getirin ve |
CopyToAsync(Stream, TransportContext) |
HTTP içeriğini bir bayt akışına seri hale getirin ve |
CopyToAsync(Stream, TransportContext, CancellationToken) |
HTTP içeriğini bir bayt akışına seri hale getirin ve |
CreateContentReadStream(CancellationToken) |
HTTP içeriğini bir bellek akışına serileştirir. |
CreateContentReadStreamAsync() |
HTTP içeriğini zaman uyumsuz bir işlem olarak bir bellek akışına seri hale getirme. |
CreateContentReadStreamAsync(CancellationToken) |
HTTP içeriğini zaman uyumsuz bir işlem olarak bir bellek akışına serileştirir. |
Dispose() |
Yönetilmeyen kaynakları serbest bırakır ve HttpContenttarafından kullanılan yönetilen kaynakları atılır. |
Dispose(Boolean) |
HttpContent tarafından kullanılan yönetilmeyen kaynakları serbest bırakır ve isteğe bağlı olarak yönetilen kaynakları atılır. |
Equals(Object) |
Belirtilen nesnenin geçerli nesneye eşit olup olmadığını belirler. (Devralındığı yer: Object) |
GetHashCode() |
Varsayılan karma işlevi işlevi görür. (Devralındığı yer: Object) |
GetType() |
Geçerli örneğin Type alır. (Devralındığı yer: Object) |
LoadIntoBufferAsync() |
HTTP içeriğini zaman uyumsuz bir işlem olarak bir bellek arabelleğine seri hale getirme. |
LoadIntoBufferAsync(CancellationToken) |
HTTP varlık gövdesini ve içerik üst bilgilerini temsil eden temel sınıf. |
LoadIntoBufferAsync(Int64) |
HTTP içeriğini zaman uyumsuz bir işlem olarak bir bellek arabelleğine seri hale getirme. |
LoadIntoBufferAsync(Int64, CancellationToken) |
HTTP varlık gövdesini ve içerik üst bilgilerini temsil eden temel sınıf. |
MemberwiseClone() |
Geçerli Objectbasit bir kopyasını oluşturur. (Devralındığı yer: Object) |
ReadAsByteArrayAsync() |
HTTP içeriğini zaman uyumsuz bir işlem olarak bayt dizisine seri hale getirme. |
ReadAsByteArrayAsync(CancellationToken) |
HTTP içeriğini zaman uyumsuz bir işlem olarak bayt dizisine seri hale getirme. |
ReadAsStream() |
HTTP içeriğini seri hale getirir ve içeriği temsil eden bir akış döndürür. |
ReadAsStream(CancellationToken) |
HTTP içeriğini seri hale getirir ve içeriği temsil eden bir akış döndürür. |
ReadAsStreamAsync() |
HTTP içeriğini seri hale getirme ve içeriği zaman uyumsuz bir işlem olarak temsil eden bir akış döndürme. |
ReadAsStreamAsync(CancellationToken) |
HTTP içeriğini seri hale getirme ve içeriği zaman uyumsuz bir işlem olarak temsil eden bir akış döndürme. |
ReadAsStringAsync() |
HTTP içeriğini zaman uyumsuz bir işlem olarak bir dizeye seri hale getirme. |
ReadAsStringAsync(CancellationToken) |
HTTP içeriğini zaman uyumsuz bir işlem olarak bir dizeye seri hale getirme. |
SerializeToStream(Stream, TransportContext, CancellationToken) |
Türetilmiş bir sınıfta geçersiz kılındığında, HTTP içeriğini bir akışa serileştirir. Aksi takdirde, bir NotSupportedExceptionoluşturur. |
SerializeToStreamAsync(Stream, TransportContext) |
HTTP içeriğini zaman uyumsuz bir işlem olarak akışa seri hale getirme. |
SerializeToStreamAsync(Stream, TransportContext, CancellationToken) |
HTTP içeriğini zaman uyumsuz bir işlem olarak akışa seri hale getirme. |
ToString() |
Geçerli nesneyi temsil eden bir dize döndürür. (Devralındığı yer: Object) |
TryComputeLength(Int64) |
HTTP içeriğinin bayt cinsinden geçerli bir uzunluğu olup olmadığını belirler. |
Uzantı Metotları
ReadFromJsonAsAsyncEnumerable<TValue>(HttpContent, JsonSerializerOptions, CancellationToken) |
HTTP içeriğini okur ve zaman uyumsuz bir numaralandırılabilir işlemde içeriğin seri durumdan çıkarılmasından kaynaklanan değeri döndürür. |
ReadFromJsonAsAsyncEnumerable<TValue>(HttpContent, JsonTypeInfo<TValue>, CancellationToken) |
HTTP içeriğini okur ve zaman uyumsuz bir numaralandırılabilir işlemde içeriğin seri durumdan çıkarılmasından kaynaklanan değeri döndürür. |
ReadFromJsonAsAsyncEnumerable<TValue>(HttpContent, CancellationToken) |
HTTP içeriğini okur ve zaman uyumsuz bir numaralandırılabilir işlemde içeriğin seri durumdan çıkarılmasından kaynaklanan değeri döndürür. |
ReadFromJsonAsync(HttpContent, Type, JsonSerializerOptions, CancellationToken) |
HTTP içeriğini okur ve zaman uyumsuz bir işlemde içeriğin seri durumdan çıkarılmasından kaynaklanan değeri JSON olarak döndürür. |
ReadFromJsonAsync(HttpContent, Type, JsonSerializerContext, CancellationToken) |
HTTP içeriğini okur ve zaman uyumsuz bir işlemde içeriğin seri durumdan çıkarılmasından kaynaklanan değeri JSON olarak döndürür. |
ReadFromJsonAsync(HttpContent, Type, CancellationToken) |
HTTP içeriğini okur ve zaman uyumsuz bir işlemde içeriğin seri durumdan çıkarılmasından kaynaklanan değeri JSON olarak döndürür. |
ReadFromJsonAsync<T>(HttpContent, JsonSerializerOptions, CancellationToken) |
HTTP içeriğini okur ve zaman uyumsuz bir işlemde içeriğin seri durumdan çıkarılmasından kaynaklanan değeri JSON olarak döndürür. |
ReadFromJsonAsync<T>(HttpContent, JsonTypeInfo<T>, CancellationToken) |
HTTP içeriğini okur ve zaman uyumsuz bir işlemde içeriğin seri durumdan çıkarılmasından kaynaklanan değeri JSON olarak döndürür. |
ReadFromJsonAsync<T>(HttpContent, CancellationToken) |
HTTP içeriğini okur ve zaman uyumsuz bir işlemde içeriğin seri durumdan çıkarılmasından kaynaklanan değeri JSON olarak döndürür. |