Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/331.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 带参数的wcf服务_C#_.net_Wcf_C# 4.0_Wcf Binding - Fatal编程技术网

C# 带参数的wcf服务

C# 带参数的wcf服务,c#,.net,wcf,c#-4.0,wcf-binding,C#,.net,Wcf,C# 4.0,Wcf Binding,合同是 [OperationContract] DataSet myfunc(string a, params object[] args); 但代理是由addserviceref向导生成的 public System.Data.DataSet myfunc(string a, object[] args) { return base.Channel.GetDataSet(a, args); } 有什么好处?两者都是.NET4.0项目 我可以更

合同是

    [OperationContract]
    DataSet myfunc(string a, params object[] args);
但代理是由addserviceref向导生成的

    public System.Data.DataSet myfunc(string a, object[] args) {
        return base.Channel.GetDataSet(a, args);
    }
有什么好处?两者都是.NET4.0项目


我可以更改代理,但更改将在更新时丢失

不确定您的问题是什么,但我猜您看到了问题,因为您在那里使用了
参数

WSDL不处理这样的可选参数

这就是你的意思吗

如果是这种情况,那么您最好的选择可能是执行代理生成的代码正在执行的操作。传递一个对象数组(尽管您在尝试只传递任何旧对象时可能会遇到麻烦,因为有些对象无法序列化或互操作)


不过,我不确定您想用可选参数做什么,因此我无法确切地告诉您该做什么。

请更详细地描述该问题!编辑答案。除非我知道您真正想做什么,否则我不确定这是否有用。如果您使用的是svcutil.exe,您可以在方法参数中再次添加params关键字,该方法参数位于生成的客户机类中缺少的位置
public System.Data.DataSet myfunc(字符串a,params object[]args)