Я бы сказал, что Silverlight, вероятно, будет более дружественным к балансировщику нагрузки, чем ASP.NET. У вас есть гораздо более сложные механизмы для поддержания состояния (например, изолированное локальное хранилище), и в значительной степени вам нужно общаться с сервером только тогда, когда (а) вы изначально загружаете приложение, а затем (б), когда вы делаете веб-сервис позвоните, чтобы получить или обновить данные. В этом смысле он аналогичен Ajax-приложению, полностью написанному на C #.
Другими словами, если (а) ваш уровень персистентности на стороне сервера знает, кто ваш клиент, или (б) вы передаете все соответствующие данные при каждом вызове WCF, не имеет значения, какой веб экземпляр сервера, на который идет вызов. Вам не нужно ломать голову над постоянством на уровне брандмауэра, чтобы убедиться, что ваш HTTP-вызов возвращается на правильный веб-сервер.