MessageEncoder.IsContentTypeSupported(String) 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
傳回值,這個值表示訊息編碼器是否支援指定的訊息層級內容類型值。
public:
virtual bool IsContentTypeSupported(System::String ^ contentType);
public virtual bool IsContentTypeSupported (string contentType);
abstract member IsContentTypeSupported : string -> bool
override this.IsContentTypeSupported : string -> bool
Public Overridable Function IsContentTypeSupported (contentType As String) As Boolean
參數
- contentType
- String
正在測試的訊息層級內容類型。
傳回
如果支援指定的訊息層級內容類型則為 true
,否則為 false
。
範例
下列程式碼範例會示範如何覆寫這個方法,以處理具有相同媒體類型的不同內容類型。
public override bool IsContentTypeSupported(string contentType)
{
if (base.IsContentTypeSupported(contentType))
{
return true;
}
if (contentType.Length == this.MediaType.Length)
{
return contentType.Equals(this.MediaType, StringComparison.OrdinalIgnoreCase);
}
else
{
if (contentType.StartsWith(this.MediaType, StringComparison.OrdinalIgnoreCase)
&& (contentType[this.MediaType.Length] == ';'))
{
return true;
}
}
return false;
}
public class CustomTextMessageEncoderFactory : MessageEncoderFactory
{
private MessageEncoder encoder;
private MessageVersion version;
private string mediaType;
private string charSet;
internal CustomTextMessageEncoderFactory(string mediaType, string charSet,
MessageVersion version)
{
this.version = version;
this.mediaType = mediaType;
this.charSet = charSet;
this.encoder = new CustomTextMessageEncoder(this);
}
public override MessageEncoder Encoder
{
get
{
return this.encoder;
}
}
public override MessageVersion MessageVersion
{
get
{
return this.version;
}
}
internal string MediaType
{
get
{
return this.mediaType;
}
}
internal string CharSet
{
get
{
return this.charSet;
}
}
}
備註
這個方法可以用來根據訊息的內容類型,判斷訊息編碼器是否可以用來讀取特定樣式的訊息。 ContentType 類別中的資訊可用來描述包含在訊息中的資料,以及判斷是否有符合的內容類型。
RFC 2045 第 5.1 節說明詳細說明內容類型標頭語法的文法。 RFC 2046 提供有關多用途因特網郵件延伸模組的詳細資訊, (MIME) 媒體類型和其參數。