在下面的方法中,last参数是一个可选参数,它通过二进制文件的标准访问来工作。但是在WCF代理中,它变成了强制性的,我无法避免,是否需要做一些事情来使其成为WCF代理的可选项。目前的搜索表明,可能无法这样做,只需保持手指交叉即可找到解决方法。
public UnifiedDTO GetAllCardTitle(string trainSymbolOrCarLocation,
DateTime startDate,
DateTime endDate,
string procedureName = CardTitle.procedureNameTrainRuns)
答案 0 :(得分:0)
虽然它是可选的"在线上"一旦数据被序列化为XML,您就无法设置默认值,也无法在代码中使用默认值。您可以在代码代理周围编写另一个包装器,它看起来就像你想要的那样。
答案 1 :(得分:0)
我认为有两种解决方案:
1 - 您可以使用可选参数创建两个方法。
public UnifiedDTO GetAllCardTitle(string trainSymbolOrCarLocation,
DateTime startDate,
DateTime endDate)
public UnifiedDTO GetAllCardTitle(string trainSymbolOrCarLocation,
DateTime startDate,
DateTime endDate,
string procedureName)
2 - 你可以创建一个代表你的参数的DTO,并在DTO中指定一个默认值。