C# WCF MessageHeaderArray无法正常工作

C# WCF MessageHeaderArray无法正常工作,c#,.net,wcf,.net-4.0,wcf-client,C#,.net,Wcf,.net 4.0,Wcf Client,我有一个相对简单的服务,它接受用于上传文件的消息契约。因为它是一个文件上传,所以只有文件流可以在消息体中,所以我使用消息头作为元数据 我的问题是,尽管在测试web app客户端中向服务添加服务引用时,我添加了一个字符串[]作为MessageHeaderArray,但该变量只是作为字符串生成的 这是我的MessageContract的一部分: [MessageContract] public class FileInformation : IDisposable { [MessageHea

我有一个相对简单的服务,它接受用于上传文件的消息契约。因为它是一个文件上传,所以只有文件流可以在消息体中,所以我使用消息头作为元数据

我的问题是,尽管在测试web app客户端中向服务添加服务引用时,我添加了一个字符串[]作为MessageHeaderArray,但该变量只是作为字符串生成的

这是我的MessageContract的一部分:

[MessageContract]
public class FileInformation : IDisposable
{
    [MessageHeader(MustUnderstand = true)]
    public string FileName { get; set; }

    [MessageHeaderArray]
    public string[] RequiredEntityNames { get; set; }

    [MessageHeaderArray]
    public string[] RequiredEntityIds { get; set; }

    [MessageHeader(MustUnderstand = true)]
    public string EntityName { get; set; }
这让我发疯,我花了将近一天的时间试图弄清楚到底发生了什么。关于为什么将RequiredEntityName和RequiredEntityId生成为字符串而不是字符串[]有什么想法吗?

您是否尝试过在数组上使用“MessageHeader”属性而不是“MessageHeaderArray”

MSDN,“在消息契约中使用数组”:

您是否尝试在数组中使用“MessageHeader”属性而不是“MessageHeaderArray”


MSDN,“在消息契约中使用数组”:

非常感谢-我以前尝试过,但没有成功,但这次成功了!非常感谢-我以前试过,但没用,但这次成功了!