ヤンの答えを先取りしていないが、それは価値がある何のために、ここにメッセージ本文をコピーする完全な例です別のアクションヘッダーを持つ新しいメッセージこの例の一部として他のヘッダーを追加したりカスタマイズしたりすることもできます。私はこれを書いてあまりにも多くの時間を費やして、それを放棄しただけです。 =)
class Program
{
[DataContract]
public class Person
{
[DataMember]
public string FirstName { get; set; }
[DataMember]
public string LastName { get; set; }
public override string ToString()
{
return string.Format("{0}, {1}", LastName, FirstName);
}
}
static void Main(string[] args)
{
var person = new Person { FirstName = "Joe", LastName = "Schmo" };
var message = System.ServiceModel.Channels.Message.CreateMessage(MessageVersion.Default, "action", person);
var reader = message.GetReaderAtBodyContents();
var newMessage = System.ServiceModel.Channels.Message.CreateMessage(MessageVersion.Default, "newAction", reader);
Console.WriteLine(message);
Console.WriteLine();
Console.WriteLine(newMessage);
Console.WriteLine();
Console.WriteLine(newMessage.GetBody<Person>());
Console.ReadLine();
}
}
あなたが投稿する前に –
は信じられないかもしれません:-)それは私自身の答えよりも徹底しただ、私はそれを開始した...その後、電話が鳴った...;) –
おかげでその素晴らしいです! – Jon