【发布时间】:2014-08-12 14:18:38
【问题描述】:
我目前正在构建自己的 WCF 编码器,它将解析我的消息。我想动态更改发送回复时分配的内容类型,但我无法理解他在哪里寻找它。
他使用的是 CustomTextEncoder.ContentType 还是内部编码器的内容类型? 如何强制他以“text/xml”或“application/soap+xml”的形式发送响应?
提前谢谢你。
编辑 - 只是为了澄清我需要在我的自定义编码器的 WriteMessage 方法中做出决定。 我正在使用包含请求的内容类型的字符串属性,但他没有正确执行。
public class MyEncoder : MessageEncoder
{
private string _contentType = "application/soap+xml";
public override string ContentType
{
get
{
return _contentType;
}
}
public override ArraySegment<byte> WriteMessage(Message message, int maxMessageSize, BufferManager bufferManager, int messageOffset)
{
...
if (_MY_CONDITION_HERE_)
{
_contentType = "multipart/related";
}
else
_contentType = "application/soap+xml";
...
}
}
不幸的是,当我发送消息时,他仍在为我的编码器分配默认值...
【问题讨论】:
标签: c# wcf soa extensibility wcf-extensions