WebOperationContext クラスを使用して、WCF Web サービスの任意のメソッドで応答のコンテンツ タイプを変更できます。
例として、次のコードは、このクラスを使用して content-type を application/xml に設定し、UTF-8 でエンコードされたストリームを返す方法を示しています。
[ServiceContract]
public interface IPolicyProvider
{
[OperationContract, WebGet(UriTemplate = "/ClientAccessPolicy.xml")]
Stream ProvidePolicy();
}
public sealed class StockService : IPolicyProvider
{
public Stream ProvidePolicy()
{
WebOperationContext.Current.OutgoingResponse.ContentType = "application/xml";
return new MemoryStream( Encoding.UTF8.GetBytes(File.ReadAllText("ClientAccessPolicy.xml")) , false);
}
}
この例に興味がある場合は、セルフホステッド WCF Web サービスで Silverlight クライアントのクロスドメイン呼び出しを有効にすることを目的としています。詳細については、こちらを参照してください。この投稿にコードのダウンロードが添付されています。
あなたの状況では、WCF サービスからの応答に対して、コンテンツ タイプを application/soap+xml に設定し、UTF-8 を使用します。
WebOperationContext クラスは System.ServiceModel.Web アセンブリにあり、.NET Framework 3.5 の一部です。
お役に立てれば。