【发布时间】: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