我正在创建一个新的WCF服务,该服务需要许可才能“正常工作”。我想知道如何在没有对服务合同的每个操作进行许可检查的情况下实现这一点。
基本上我想在启动服务时进行许可检查。如果我在服务合同构造函数中实现许可证检查,我担心它在IIS中托管时会变得很奇怪(它将成为主要的主机类型)。
关于如何解决这个问题的任何想法?
答案 0 :(得分:1)
我不确定如果没有像IIS中的HTTP模块这样的东西,有一种“干净”的方法。您可以通过向服务文件添加构造函数并执行以下操作,以“脏”的方式执行此操作:
Public Sub New()
If notLicensed then
throw new Exception("Not Licensed")
End if
End Sub
这将导致许多异常被传递回客户端(并且实际上每次创建服务实例时都会检查),但它不需要您混乱服务方法。也就是说,希望其他人有更好的答案。 :)