WCF服务的服务器端点URL限制

时间:2015-12-04 05:26:20

标签: c# .net wcf wcf-binding

我有一个具有多个操作合同的WCF服务,该服务将在多个数据中心运行。

我想在某些数据中心限制(不允许调用)某些操作合同。

有人可以帮助我达到我的要求吗?

1 个答案:

答案 0 :(得分:0)

如果我没有误解你的服务将在不同的机器上运行(每台机器都有自己的web.config文件)?因此,您可以将操作合同分组到不同的服务合同中,然后编辑web.config文件以允许这些服务合同。

编辑: 我们假设你有OperationA,B和C

[ServiceContract]
public class ABCService
{
    [OperationContract]
    public Message OperationA()

    [OperationContract]
    public Message OperationB()

   [OperationContract]
    public Message OperationC()
}

[ServiceContract]
public class ABService
{
    [OperationContract]
    public Message OperationA()

    [OperationContract]
    public Message OperationB()
}

如果只有一台机器shuold访问,则只有OperationA和OperationB使用此

<endpoint address="" behaviorConfiguration="WebBehavior" binding="webHttpBinding" contract="ABService"/>    

如果一个机构应该访问所有操作,请使用此

<endpoint address="" behaviorConfiguration="WebBehavior" binding="webHttpBinding" contract="ABCService"/>