【问题标题】:Optional parameters in WCF proxyWCF 代理中的可选参数
【发布时间】:2023-03-04 18:23:01
【问题描述】:

在下面的方法中,最后一个参数是一个可选参数,它通过二进制的标准访问来工作。但是,在 WCF 代理中,它成为强制性的,我无法避免,是否需要做一些事情来使其对于 WCF 代理也是可选的。目前的搜索表明可能无法这样做,我只能祈祷找到解决方法。

public UnifiedDTO GetAllCardTitle(string trainSymbolOrCarLocation, 
                                           DateTime startDate, 
                                           DateTime endDate, 
                                           string procedureName = CardTitle.procedureNameTrainRuns)

【问题讨论】:

标签: c# .net wcf


【解决方案1】:

虽然数据被序列化为 XML 后,它是可选的“在线”,但您不能设置默认值,也不能在代码代理中使用默认值。您可以在代码代理周围编写 另一个 包装器,看起来随心所欲。

【讨论】:

    【解决方案2】:

    我认为有两种解决方案:

    1-您可以创建两种方法,一种带有可选参数。

    public UnifiedDTO GetAllCardTitle(string trainSymbolOrCarLocation, 
                                               DateTime startDate, 
                                               DateTime endDate)
    
    public UnifiedDTO GetAllCardTitle(string trainSymbolOrCarLocation, 
                                               DateTime startDate, 
                                               DateTime endDate, 
                                               string procedureName)
    

    2-您可以创建一个代表您的参数的 DTO 并在 DTO 中分配一个默认值。

    【讨论】:

      猜你喜欢
      • 2013-06-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-02-08
      • 2016-03-30
      • 2018-02-03
      • 2010-12-04
      相关资源
      最近更新 更多