我有一个具有多个操作合同的WCF
服务,该服务将在多个数据中心运行。
我想在某些数据中心限制(不允许调用)某些操作合同。
有人可以帮助我达到我的要求吗?
答案 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"/>