Я недавно начал работать с Entity Framework (версия 4.1) и WCF. Я пытаюсь сделать приложение asp.net n-tier (.Net Framework 4.0), в котором слой данных состоит из wcf-сервисов, которые внутренне используют сущность-структуру. Подход, применяемый к инфраструктуре сущности, является модельным.Entity Framework - различное поведение в разных средах
В моей среде разработки у меня есть приложение asp.net и службы wcf, работающие на IIS 7.5, на том же веб-сайте и в одном и том же пуле приложений (это не очень удобно, но он работает). При первом доступе к любой из wcf-сервисов производительность довольно плохая, но при последующих обращениях это нормально. Причины плохой производительности при первом доступе объясняются here - например. служебные данные, связанные с созданием представления, подготовкой запросов и т. д.,
После завершения разработки я настроил тестовую среду с двумя виртуальными машинами - одним сервером (IIS 7.5), на котором размещен внешний интерфейс приложения и еще один (опять же IIS 7.5), на котором размещаются службы wcf - работающие на разных компьютерах, на разных сайтах и в разных пулах приложений.
Я ожидал такого же поведения, а именно медленного первого доступа к службам и последующего доступа, выполняемого намного быстрее, но все обращения к службам выполняются медленно.
Проблема не в том, что запросы являются тяжелыми, и это не проблема с сетью. Я выполнил инструмент профилирования структуры сущности, и, очевидно, накладные расходы на создание представлений и подготовку запросов существуют при каждом вызове службы wcf. Выполнение запросов выполняется быстро.
По сути, я пытаюсь понять, почему я замечаю разные типы поведения в разных средах.
Из того, что я читал, каждый раз, когда создается AppDomain, сущность-инфраструктура выполняет операции, связанные с начальными служебными данными. Но означает ли это, что для каждого вызова службы WCF создается новый AppDomain?
Любая вероятность того, что сборки были отладки в dev-блоке и выпущены в тестовой среде? – Narayana