如何在 WCF 测试客户端 (WcfTestClient.exe) 中指定列表参数?

Posted

技术标签:

【中文标题】如何在 WCF 测试客户端 (WcfTestClient.exe) 中指定列表参数?【英文标题】:How to specify list parameters in WCF Test Client (WcfTestClient.exe)? 【发布时间】:2010-12-19 18:44:59 【问题描述】:

我正在使用 WCF 测试客户端 (WcfTestClient.exe) 来测试我的一项 wcf 服务。 我有一个消息合同,其中包含一个 DataContracts 列表: 我的消息合约如下:

[MessageContract]
    public class UpdateInvoiceStatusesRequest 
    
        private List<InvoiceStatusHistory> _invoiceStatusHistory;

        [MessageBodyMember(Order = 0)]
        public List<InvoiceStatusHistory> InvoiceStatusHistory
        
            get  return _invoiceStatusHistory; 
            set  _invoiceStatusHistory = value; 
            
    

我的数据合同是:

[DataContract]
    public class InvoiceStatusHistory
    
        private int _invoiceId;
        private int  _status;
        private string _comment;
        private string _timeStamp;

        [DataMember]
        public int InvoiceId
        
            get  return _invoiceId; 
            set  _invoiceId = value; 
        

        [DataMember]
        public string Comment
        
            get  return _comment; 
            set  _comment= value; 
        

        [DataMember]
        public int Status
        
            get  return _status; 
            set  _status = value; 
        

        [DataMember]
        public string TimeStamp
        
            get  return _timeStamp; 
            set  _timeStamp = value; 
        
    

当我使用 WcfTestClient.exe 使用 UpdateInvoiceStatusesRequest 消息合同测试服务时,它显示 InvoiceStatusHistory 的值为长度 = 0,现在我不知道如何将 InvoiceStatusHistory 的对象添加到List&lt;InvoiceStatusHistory&gt; ? 有没有人对此有任何想法,请帮助我?

【问题讨论】:

【参考方案1】:

在框中输入length=1+ 符号将出现在请求参数名称旁边。单击它,然后单击 [0] 节点,该节点指示数组中的第一个元素并照常设置其值。

【讨论】:

谢谢。我想不通。多么不直观。 :) 是的,2 年后我在这里,仍然对此感到困惑! 工具设计者可能不知道有一个叫做 tooltip 的东西 ;) 10 年后仍然对此感到困惑

以上是关于如何在 WCF 测试客户端 (WcfTestClient.exe) 中指定列表参数?的主要内容,如果未能解决你的问题,请参考以下文章