【问题标题】:WCF MessageHeaderArray not working correctlyWCF MessageHeaderArray 无法正常工作
【发布时间】:2012-01-14 20:51:33
【问题描述】:

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

我的问题是,虽然我在测试 Web 应用程序客户端中添加对服务的服务引用时添加了一个 string[] 作为 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; }

这让我发疯了,我花了将近一天的时间试图弄清楚发生了什么。关于为何将RequiredEntityNames 和RequiredEntityIds 生成为字符串而不是字符串[] 的任何想法?

【问题讨论】:

    标签: c# .net wcf .net-4.0 wcf-client


    【解决方案1】:

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

    MSDN,“在消息契约中使用数组”:http://msdn.microsoft.com/en-us/library/ms730255.aspx

    【讨论】:

    • 非常感谢 - 我之前尝试过但没有成功,但这次成功了!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-12-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-01
    • 2022-01-13
    • 2012-07-11
    相关资源
    最近更新 更多