合同def是
[OperationContract]
DataSet myfunc(string a, params object[] args);
但代理是由添加服务引用向导
生成的 public System.Data.DataSet myfunc(string a, object[] args) {
return base.Channel.GetDataSet(a, args);
}
是什么给出的?两者都是.net 4.0项目
我可以更改代理但更新将在更新时丢失
答案 0 :(得分:1)
不确定您的问题是什么,但我猜您因为在那里使用params
而遇到问题。
WSDL不处理类似的可选参数。
这就是你得到的东西吗?
如果是这种情况,那么您最好的选择可能是代理生成的代码正在执行的操作。传递一个对象数组(尽管你可能会遇到麻烦,试图传递任何旧对象,因为有些对象不可序列化或可互操作)。
我不确定你要用可选参数做什么,所以我不能确切地告诉你该做什么。