从外部呼叫时,功能签名与web服务中的功能签名不同

时间:2017-02-08 08:09:21

标签: c# web-services asmx out

我有一个Web服务功能,如下所示

     public void download_docs(string id,DateTime date,
                               out string error_msg,out int i,
                               out document_dtls document_details)
    {
     //logic     
    }

两个In参数和三个OUT参数。 但是当我尝试使用相同功能时,功能签名仅显示两个输出参数,如下图所示。第一个OUT参数字符串error_msg未显示。 怎么能显示所有 enter image description here

1 个答案:

答案 0 :(得分:1)

将第一个out参数转换为服务方法的返回值。即使用WSDL specifcation provides a way来区分返回和输出参数,这种区别也是可选的。创建服务引用时,Visual Studio的自动代码生成逻辑不会产生此目标,并且如果服务方法为out,则会将第一个void参数转换为返回值。从语义上讲,Web服务调用将完全相同。