Приложение C # WinForms работает медленно с подключенного сетевого диска через VPN - PullRequest
0 голосов
/ 05 сентября 2018

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

Проблема в том, что через VPN приложение загружается крайне медленно.
Для отображения основной формы требуется 1 минута и 40 секунд.
Весь код в главной форме в событиях Load и Show отключен для проверки производительности, и для загрузки формы по-прежнему требуется много времени.
Также сопоставленный каталог установлен как доверенный окнами.

Вопрос в том, что может вызвать медленную загрузку через VPN?
Мне кажется, что просто загрузить основную форму без какого-либо кода уже медленно.

Приложение использует DevExpress, так что есть много от DLL для загрузки. Может ли это быть причиной этой проблемы?

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

Я нашел этот вопрос здесь, но проблема возникла из-за ошибки в их коде, поэтому она не помогает мне

1 Ответ

0 голосов
/ 06 сентября 2018

Разверните приложение как ClickOnce. Когда приложение запускается в первый раз, оно будет медленным, поскольку приложение будет загружено, а затем установлено в папку Users [user] \ AppData. С тех пор, пока приложение не было повторно развернуто, оно будет запускаться из локальной копии после проверки с развернутой в сети версией.

Вы можете выбрать локальную установку приложения, чтобы оно имело пункт меню «Пуск», и его можно удалить с помощью добавления / удаления программ, или вы можете сделать его доступным только онлайн, что означает отсутствие пункта меню «Пуск», и его следует запускать из setup.exe (я бы предположил, что это вариант, который вы хотели бы использовать, чтобы ваши пользователи по-прежнему запускали его из сетевого расположения VPN.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...