мы используем специально разработанное ERP-приложение более 4 лет, на самом деле были некоторые проблемы с дизайном, которые прямо сейчас влияли на производительность приложения.
на самом деле проблема в том, что это приложение может быть классифицировано как приложение для работы с большими данными, иначе бизнес-приложение.
Самая большая проблема плохого проектирования заключается в том, что мы получаем целые данные для определенного подразделения и назначаем их для элементов управления или сохраняем их в памяти (например, ArrayLists, Generic Lists) и предоставляем пользователю гибкость навигации. и полная скорость реакции приложения.
за первые 2 года использования мы не заметили проблему, но к концу этого периода мы получаем все больше жалоб на производительность приложения.
Мы использовали и продолжаем использовать ADO.NET с хранимыми процедурами, которые создаются для операций CRUD (Получить, Список, Удалить, Вставить, Обновить SP), поэтому, если мы собираемся разделять данные каждого года, мы должны перепроектировать эти автоматически сгенерированные SP с необходимыми модификациями на уровне доступа к данным, а также с тем фактом, что не было фактического разделения по уровням, мы не можем простым способом сделать эту модификацию, поэтому первое предстоящее решение - это создать некоторую базу данных улучшения, чтобы сбалансировать этот огромный трафик данных, но проблема вновь возникает уже около 6 месяцев.
поэтому мы думаем, что настало время исправить наши ошибки (очень позднее решение), но как мы могли это сделать? мы получаем следующие решения:
Используйте веб-приложение, а не приложение Windows, поэтому мы сможем использовать все возможности нашего сервера и минимизировать трафик для соединения
Перепроектируйте приложение так, чтобы оно заботилось о конце года, не получало все данные, использовало более качественную ORM, чем старый Fusion ADO.NET, но придерживалось оконных форм и того же приложения
и в соответствии с временными рамками (в некоторой степени ограничено), членами команды (2, оба имеют хороший опыт работы с окнами, веб-разработкой), я не могу сейчас принять решение, боюсь, что изменения в приложениях Windows может занять больше времени, чем ожидалось.
Можете ли вы дать мне совет?
Я использую C # 4.0, веб-формы ASP.NET, (новичок MVC).