【问题标题】:WCF service method arguments, bool specified [duplicate]WCF 服务方法参数,布尔指定 [重复]
【发布时间】:2012-11-15 11:02:38
【问题描述】:

可能重复:
WCF will not return an int

尝试使用我自己的 WCF 服务,如下所示:

[ServiceContract]
public interface IReturnService
{
    [OperationContract]
    bool GetTransactionList(int lRetailStoreID, int lWorkstationNmbr, int lTaNmbr);
}

但是当我从客户端调用服务时,我得到了没有带有 3 个参数的方法 GetTransactionList 的错误,而是得到了这个标头:

myWCF.GetTransactionList(int lRetailStoreID, bool lRetailStoreIDSpecified, 
                         int lWorkstationNmbr, bool lWorkstationNmbrSpecified, 
                         int lTaNmbr, bool lTaNmbrSpecified, 
                         out bool GetTransactionListResult, 
                         out bool GetTransactionListResultSpecified)

有人知道为什么会发生这种情况以及如何解决吗?如果需要更多信息,请告诉我。

【问题讨论】:

  • 你能添加你用来调用服务器的代码吗?是生成的客户端吗?
  • 您的客户端代理是否与服务器的定义相同?
  • 在这里提问和回答stackoverflow.com/q/12964759/1045728
  • 如上面的链接中所说,您是否尝试添加 WCF 服务的 Web 引用。如果是这样,请删除它并通过服务参考添加它。
  • @Rajesh 在 VS2005 工作,没有“服务参考”选项

标签: c# wcf


【解决方案1】:

将 XMLSerializerFormat 添加到服务的属性中:

[ServiceContract]
[XmlSerializerFormat]
public interface IReturnService{
...

原因如下:http://nirajrules.wordpress.com/2009/08/26/wcf-serializers-xmlserializer-vs-datacontratserializer-vs-netdatacontractserializer/

【讨论】:

  • 刚刚解决了!谢谢
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-11-29
  • 1970-01-01
相关资源
最近更新 更多