Проверьте часть кэширования Enterprise библиотеки . Мы используем его на работе для кэширования поисков, поэтому вы обращаетесь к нашим службам WCF только один раз, а не тысячи раз для получения одинаковых данных.
Вы также можете использовать сеанс, против которого я настоятельно рекомендую, если ваш пользователь не очень маленький.
if (Session("user") == null)
{
Session("user") = CallWebService.GetUser(userId);
}
Почему вы должны держать Сессию маленькой, для этой веб-страницы :
Избегайте хранения слишком большого количества данных в переменных сеанса и убедитесь, что время ожидания сеанса является разумным. Это может использовать значительный объем памяти сервера. Помните, что данные, хранящиеся в переменных сеанса, могут зависать еще долго после того, как пользователь закроет браузер. Слишком много переменных сеанса могут поставить сервер на колени.