Customer portal или как исправить то, что вроде правильно написано.
Вчера при использовании Customer portal столкнулся со
следующей проблемой. Если изменять данные из портала, то изменения в портале
корректно отображаются. Если же изменить данные через CRM, то в портале ничего не изменяется.
Очистка куков, истории броузера ни к чему не приводят. Единственное что помогает
- это рестарт пула приложения. Заставить клиентов каждый раз перегружать пул
пока не получается.
Главная странность заключается в том, что при запросе данных от CRM с помощью XRM библиотеки, возвращаются неактуальные данные. Вот что с этим делать и почему это так было вообще не ясно. Я даже оставил свой вопрос на codeplex, но ответа нет до сих пор. Еще нашёл аналогичный вопрос 2010 года тоже без ответа. Но удача мне все же улыбнулась. Я так и не понял почему это происходит, но судя по тем статьям, что я прочитал библиотеки кешируют данные, которые получаются через LINQ запросы. Один из вариантов нормальной работы - это очистка кеша. Для этого необходимо вызвать следующий код:
Главная странность заключается в том, что при запросе данных от CRM с помощью XRM библиотеки, возвращаются неактуальные данные. Вот что с этим делать и почему это так было вообще не ясно. Я даже оставил свой вопрос на codeplex, но ответа нет до сих пор. Еще нашёл аналогичный вопрос 2010 года тоже без ответа. Но удача мне все же улыбнулась. Я так и не понял почему это происходит, но судя по тем статьям, что я прочитал библиотеки кешируют данные, которые получаются через LINQ запросы. Один из вариантов нормальной работы - это очистка кеша. Для этого необходимо вызвать следующий код:
//название сущности, кешированные данные которой я хочу удалить string entityname = "contact"; BaseCache baseCache = Microsoft.Xrm.Client.Caching.CacheManager.GetBaseCache(); baseCache.Remove(string.Format("adxdependency:crm:entity:{0}",entityname));Не уверен, что этот способ оптимален, и совсем правильный, но возможно это кому-нибудь поможет.
Сегодня опять копаюсь с кастомер порталом. Вспомнил, что у тебя была подобная проблема. Залез в СДК, а там человеческое её решение - http://msdn.microsoft.com/en-us/library/gg695795.aspx
ОтветитьУдалить