Я не уверен, что есть «чистый» способ сделать это без чего-то вроде модуля HTTP в IIS. Вы можете сделать это «грязным» способом, добавив конструктор в файл службы и выполнив что-то вроде этого:
Public Sub New()
If notLicensed then
throw new Exception("Not Licensed")
End if
End Sub
Это приведет к тому, что клиенту будет передано много исключений (и фактически он будет проверять каждый раз, когда создается экземпляр службы), но это не требует, чтобы вы загромождали методы службы. Тем не менее, надеюсь, у кого-то есть лучший ответ. :)