現在、メッセージを解析する独自の 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";
...
}
}
残念ながら、メッセージを送信すると、彼はまだエンコーダーのデフォルト値を割り当てています...