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)媒體類型及其參數的詳細資訊。