2
我有这样的代码由于某种原因不是写名字或命名空间或属性WCF的MessageHeader不会写名字空间
public class MultiSpeakHeader : MessageHeader
{
protected override void OnWriteHeaderContents(XmlDictionaryWriter writer, MessageVersion messageVersion)
{
writer.WriteAttributeString("AppName", "A");
writer.WriteAttributeString("AppVersion", "1");
writer.WriteAttributeString("CSUnits", "feet");
}
public override string Name
{
get { return "MultiSpeakMsgHeader"; }
}
public override string Namespace
{
get { return "http://www.multispeak.org/Version_3.0"; }
}
}
类这个实例的结果如下:
<MultiSpeakHeader xmlns="http://schemas.datacontract.org/2004/07/my.app" xmlns:i="http://www.w3.org/2001/XMLSchema-instance"/>
,我需要这样的:
<MultiSpeakMsgHeader xmlns="http://www.multispeak.org/Version_3.0" AppName="A" AppVersion="1" CSUnits="feet" />
代码中使用:
AddressHeader[] header = { AddressHeader.CreateAddressHeader(new MultiSpeakHeader()) };
我推测这是用于WCF的吗? – 2013-02-28 21:46:40
是的,它适用于wcf – Fonzy 2013-02-28 21:49:41
如果您使用WCF,在标签中放置[tag:wcf]是很好的做法。 – 2013-02-28 22:21:08