我在WCF服务中相当新,我甚至不知道它是否可能,但这是我的问题。
我有一个包含多个WCF服务的网站,所有服务都从同一个数据库获取数据。我使用LinqToSql来获取数据模型。例如,我有一个带有PROJECT类的ProjectsService,还有一个带有ACCOUNT类的AccountsService,问题是如果有人引用了ProjectService,他就可以使用ACCOUNT类。是否可以限制访问某些不属于所需服务的条款?
答案 0 :(得分:1)
为了做到这一点,你需要分解你的实体,使它们存在于不同的程序集中,这样你的服务就可以只引用包含它关心的实体的程序集。否则,无法对代码进行分段,以便ProjectService只能在引用DataModel.dll程序集的情况下与Project实体进行通信。
如果要将实体分解为单独的程序集,则需要为每个实体创建单独的数据模型,其中每个模型都位于单独的类项目中。您应该可以在针对同一数据库创建多个数据模型时没有问题,每个数据模型都引用该数据库中的不同表或视图。