繁体   English   中英

WCF类在具有相同名称的不同服务合同中实现两个操作契约

[英]WCF class implementing two operation contracts in different service contracts with same name

我已宣布两项服务合同如下:

[ServiceContract]
public interface IContract1
{
    [OperationContract]
    double Add(int ip);
}

[ServiceContract]
public interface IContract2
{
    [OperationContract]
    double Add(double ip);
}

我有一个实现这两个合同的类。 我为这两个合同创建了两个端点。 但我无法从客户端代码访问该服务。 当我尝试更新服务引用时,它显示一个很大的错误:

元数据包含无法解决的错误....没有端点监听...等。

我知道您不能拥有两个具有相同名称的OperationContract ,但是可以在具有相同名称但签名不同的不同服务合同中签订两个操作合同吗?

如果一个服务实现了两个合同,那么您应该为您的操作合同指定唯一的名称。

[ServiceContract]
public interface IContract1
{
    [OperationContract(Name="AddInt")]
    double Add(int ip);
}

[ServiceContract]
public interface IContract2
{
    [OperationContract(Name="AddDouble")]
    double Add(double ip);
}

您可以使用以下内容。

[ServiceContract]
public interface IContract1
{
    [OperationContract(Name = "Add1")]
    double Add(int ip);
}

[ServiceContract]
public interface IContract2
{
    [OperationContract(Name = "Add2")]
    double Add(double ip);
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM