Проблемы производительности .NET - процесс размещения визуальных студий - PullRequest
2 голосов
/ 30 ноября 2010

У меня есть клиентский профиль .NET 4.0, приложение в стиле WPF + NHibernate 3 Line of Business, которое я почти полностью разработал. Бэкэнд-база данных - это файл Microsoft Access, доступ к которому осуществляется через JetDriver из NHibernate.

При запуске приложения через отладчик в Visual Studio 2010 производительность приложения очень приемлема. Однако, если я запускаю файл Debug или Release .exe или из развертывания ClickOnce, производительность всего приложения чрезвычайно низкая.

После поиска в Google я обнаружил, что отключение опции «Процесс размещения в Visual Studio» сделает мой опыт отладки похожим на прямой запуск файла .exe, что и произошло.

Что я хотел бы знать, так это почему я испытываю такое замедление по сравнению с обычным режимом отладки? И как я могу улучшить ситуацию во время выполнения.

Настройки компиляции, как показано:

alt text

С уважением,

1 Ответ

1 голос
/ 30 ноября 2010

Проблемы с производительностью NHibernate часто можно объяснить конфигурацией log4net.Если вы используете log4net, а уровень установлен на DEBUG, NHibernate сделает много журналирования.Это также может быть причиной того, что производительность приемлема в отладчике VS, но не в развертывании.log4net может не иметь доступа для записи в папку в среде развертывания, поэтому не удается открыть файл журнала.См. Эту ссылку: http://jagregory.com/writings/empty-nhibernate-logs-and-poor-performance/.

PS - мне трудно согласовать коммерческое приложение с серверной частью Access.

...