Я все еще изучаю VB.net, и теперь я нахожусь на этапе, когда хочу написать функцию автоматического обновления, теперь я сам написал эту простую функцию, ничего необычного, но я бы просто хотел проверить чтобы увидеть, что в моей логике нет серьезных недостатков? Если не считать человеческой ошибки, я думаю, что это хороший простой способ сделать это.Как улучшить мою функцию автоматического обновления? VB.net
Примечание: все это работает безупречно от моего тестирования.
Моя функция
Public Function updateCheck()
Dim CurrentVersion As String = My.Settings.currentVersion
Dim updateURL As String = My.Settings.updateURL
Dim WebRequest As WebClient = New WebClient
Dim Version As String = WebRequest.DownloadString(updateURL)
If Version = CurrentVersion Then
MessageBox.Show("no updates available")
Else
MessageBox.Show("An new version is available: " & Version)
End If
End Function
updatecheck.html файл просто содержит "vx.x.x"
, какие сайты на веб-сервере и currentVersion
строки снова "vx.x.x"
Я не могу видеть этот недостаток не забудьте забыть изменить строку currentVersion
при обновлении приложения и зацикливать.
С точки зрения упрощенного и чистого кода, есть ли способ улучшить это? - Я планирую добавить загружаемый и исполняемый код для загрузки обновления, который удаляет и устанавливает последнюю версию. - В настоящее время я использую InstallShield для развертывания приложения.
Спасибо за любые предложения/комментарии.
Что делать, если веб-сайт не работает? WebRequest не смог получить данные вообще. что, если сетевое соединение отключено? такая же проблема - вы получите необработанное исключение, поэтому ваша программа выйдет из строя. что, если у вас есть проблемы с корпусом между текущей версией и показанной на веб-сайте? он потерпит неудачу. –
Если веб-сайт не работает и не подключен к Интернету, программа не может автоматически обновляться? Может быть, я должен добавить исключение, чтобы проверить подключение к Интернету? Также я предполагаю, что вы имеете в виду кэширование, это возможность, но как я могу избежать этого? –
Точно. вы всегда должны перехватывать исключения, где, вероятно, он будет выброшен в код. –