【发布时间】:2015-12-04 05:26:20
【问题描述】:
我有一个拥有多个运营合同的WCF 服务,该服务将在多个数据中心运行。
我想限制(不允许调用)一些数据中心的一些操作合约。
有人可以帮我实现我的要求吗?
【问题讨论】:
-
你可以实现授权。
标签: c# .net wcf wcf-binding
我有一个拥有多个运营合同的WCF 服务,该服务将在多个数据中心运行。
我想限制(不允许调用)一些数据中心的一些操作合约。
有人可以帮我实现我的要求吗?
【问题讨论】:
标签: c# .net wcf wcf-binding
如果我没有误解您的服务将在不同的机器上运行(每台机器都有自己的 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()
}
如果一台机器应该只访问 OperationA 和 OperationB 使用这个
<endpoint address="" behaviorConfiguration="WebBehavior" binding="webHttpBinding" contract="ABService"/>
如果一台机器应该访问所有操作,请使用此
<endpoint address="" behaviorConfiguration="WebBehavior" binding="webHttpBinding" contract="ABCService"/>
【讨论】: