c# – 在WCF数据服务中,如何限制对消费者可见的实体?

我的Init方法看起来像这样

public static void InitializeService(DataServiceConfiguration config)
{
    config.UseVerboseErrors = true;
    config.SetEntitySetAccessRule("*", EntitySetRights.AllRead);
    config.SetServiceOperationAccessRule("*", ServiceOperationRights.AllRead);
    config.DataServiceBehavior.MaxProtocolVersion = DataServiceProtocolVersion.V2;
}

但是,我知道有一种方法可以限制客户端查看数据模型中的100个实体.我只想曝光四个!也许Init()方法与它无关.你怎么做呢?

最佳答案 你可以删除该行

 config.SetEntitySetAccessRule("*", EntitySetRights.AllRead);

并通过在各个实体集上设置所需的访问权限来替换它.
示例:MSDN: DataServiceConfiguration.SetEntitySetAccessRule Method

点赞