如何向服务消费者公开有限数量的运营合同?

时间:2016-05-11 05:19:40

标签: wcf

我有一份服务合同,包含5份运营合同,并在IIS中托管。

假设我有2个服务消费者A&乙

我需要访问服务消费者A的所有5个操作合同,但是 对于服务消费者B,我只需要访问5个操作合同中的2个。

我们需要做什么设置才能将2个操作合同暴露给消费者B?

由于

1 个答案:

答案 0 :(得分:0)

来自蒂姆的评论我会创建两个合同并有两个端点但你只需要一个如下的实现

 [ServiceContract]
    public interface IService_AdminLvl : IService_USERLvl
    {
        [OperationContract]
        string setData(int value);
        [OperationContract]
        string setData2(int value);
    }
    [ServiceContract]
    public interface  IService_USERLvl
    {
        [OperationContract]
        string GetData(int value);
        [OperationContract]
        string GetData2(int value);
        [OperationContract]
        string GetData3(int value);
    }




    public class Service1 : IService_AdminLvl
    {
        //IMPL ALL FUCNTIONS 
        public string GetData(int value)
        {
            throw new NotImplementedException();
        }  
        public string GetData2(int value)
        {
            throw new NotImplementedException();
        }

        public string GetData3(int value)
        {
            throw new NotImplementedException();
        }
        public string setData(int value)
        {
            throw new NotImplementedException();
        }

        public string setData2(int value)
        {
            throw new NotImplementedException();
        }

和这样的配置......

 <service name="domainName.Service_2">
  <endpoint address="admin" binding="basicHttpBinding" contract="domainName.IService_AdminLvl">
    <identity>
      <dns value="localhost" />
    </identity>
  </endpoint>
  <endpoint address="user" binding="basicHttpBinding" contract="domainName.IService_UserLvl">
    <identity>
      <dns value="localhost" />
    </identity>
  </endpoint>
</service>