Срок службы OrganizationServiceContext - CRM Dynamics 2011 - PullRequest
3 голосов
/ 06 июня 2011

Это больше не технический вопрос.

Мы намерены использовать OrganizationServiceContext с Linq, а не вызывать OrganizationServiceProxy.

Мой вопрос: каким должен быть срок действия контекста?Должен ли он быть создан один раз для каждого метода, или вы можете сохранить его на всю жизнь веб-приложения, используя одноэлементный подход?Любой совет?

Заранее спасибо

Ответы [ 2 ]

2 голосов
/ 06 июня 2011

Просто чтобы немного расширить ответ Гатса, что совершенно правильно, мы создаем новые контекстные объекты практически для каждого отдельного метода, который у нас есть. Даже для Silverlight, где мы знаем, что работаем по одному пользователю за раз, управлять содержимым в любое время слишком просто, чтобы избежать создания нового объекта контекста.

2 голосов
/ 06 июня 2011

Вы никогда не должны хранить текстовый текст в течение всей жизни веб-приложения. Жизненный цикл приложения управляется вне вашего кода.

Существует также боль, связанная с сохранением изменений, когда другие пользователи сохраняют данные одновременно. Управлять текстовыми данными всегда следует только в течение срока действия запроса, а выполнение изменений сохранения никогда не должно сохранять фрагменты из запросов других людей по мере их обработки.

Если вы хотите уменьшить количество операций чтения, используйте кэширование. Если вы хотите управлять параллелизмом, используйте транзакции с единицей работы.

...