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 提供有关多用途 Internet 邮件扩展 (MIME) 媒体类型及其参数的详细信息。