Полагаю, если вы хотите быть действительно параноиком, вы можете перенаправить все вызовы из клиентского приложения через одну конечную точку веб-службы и зашифровать полезную нагрузку ... что-то вроде:
- Клиентское приложение достигает конечной точки "givemeatoken.asmx"
- Сервер генерирует некоторый ключевой токен
- Клиент шифрует все вызовы, используя указанный токен, передавая их одной конечной точке "onlyservice.asmx"
- Сервер расшифровывает полезную нагрузку вызовов с помощью токена и направляет вызовы в «настоящие» веб-службы.
- Сервер извлекает результаты вызова, повторно шифрует их с помощью токена и передает обратно клиенту
- Клиент расшифровывает результаты и делает то, что ему нужно.
Но это просто сумасшедшие разговоры ... и вроде бессмысленные, поскольку вы можете перепроектировать сам код Silverlight, чтобы выяснить, какими будут "настоящие" сервисы. Если вы действительно хотите защитить свое приложение, используйте аутентификацию; как на стороне клиента, так и на стороне сервера (т. е. для вызова служб требуется какой-либо билет аутентификации)