C# 添加Web引用会显示错误消息“quot;已使用相同的参数定义名为(函数名)的成员;
我已经创建了一个web服务。在C# 添加Web引用会显示错误消息“quot;已使用相同的参数定义名为(函数名)的成员;,c#,asp.net,web-services,C#,Asp.net,Web Services,我已经创建了一个web服务。在App\u code下,我创建了两个分部类: 服务中心 服务测试 在Service\u Test.cs中,我创建了两种方法: [WebMethod(EnableSession = true, Description = "Method 1")] public void ActivateAsync(cMyClass[] myClass, out string[] ID) { // logic to retrieve data and set ID's to o
App\u code
下,我创建了两个分部类:
Service\u Test.cs
中,我创建了两种方法:
[WebMethod(EnableSession = true, Description = "Method 1")]
public void ActivateAsync(cMyClass[] myClass, out string[] ID)
{
// logic to retrieve data and set ID's to out parameter
return;
}
[WebMethod(EnableSession = true, Description = "Method 2")]
public void Activate(cMyClass[] myClass, out string[] ID)
{
// logic to retrieve data and set ID's to out parameter
return;
}
当我编译web服务时,它构建时没有任何错误
将此web服务的引用添加到其他项目并重建该项目时,会显示以下错误消息:
错误78:类型“NameSapce.WebService.Service”已使用相同的参数类型定义了名为“ActivateAsync”的成员path\Utility\Web References\WebService\Reference.cs 虽然我只创建了一个方法
ActivateAsync(cMyClass[] myClass, out string[] ID)
但在代码级别,它向我展示了另外两种可能的方法。
i、 e
ActivateAsync
方法未添加到Service.cs
类中。
当我按照下面的说明更改ActivateAsync
方法时,错误将在项目中解决
[WebMethod(EnableSession = true, Description = "Method 1")]
public void ActivateAsync(cMyClass[] myClass, int nTest, out string[] ID)
{
// logic to retrieve data and set ID's to out parameter
return;
}
我没有得到这种行为背后的原因。我已经检查了
reference.cs
文件,并且知道Activate
和ActivateAsync
两个方法都有相同的参数,其结果是在reference.cs
中,它只为一个方法创建引用,跳过其他方法并抛出错误信息
作为上述方法的解决方案,我在上述方法之间又添加了一个方法。顺序如下
1. public void ActivateAsync(cMyClass[] myClass, out string[] ID)
2. public void TestMethod()
3. public void Activate(cMyClass[] myClass, out string[] ID)
※不确定,但这可能是Visual Studio的内置缺陷什么实现了您的服务?[WebService(Namespace=“Url path”)][WebServiceBinding(ConformsTo=WsiProfiles.BasicProfile1\u 1)]公共部分类服务:System.Web.Services.WebService{