Код Vb.net, чтобы проверить, существует ли файл (новая версия в коде Google) в Интернете? - PullRequest
0 голосов
/ 10 июня 2009

Я работаю над простой программой FOSS VB.net, которая работает в основном в одном окне (ссылка http://code.google.com/p/slotshuffle/, если кто-то захочет помочь в просмотре кода или для просмотра).

Я искал в Интернете способы уведомления пользователей об обновленной версии, и большинство из них включают изменение метода развертывания или добавление большого количества классов (для программы, в которой всего 500 с лишним строк, включая комментарии).

То, что я хотел бы сделать (в псевдокоде), - это перейти в меню файла или кнопку (то есть подпункт) и:

if http://(website...)/slotshuffle2.0.zip exists
then
msgBox.show "New version available" + a link
else
msgBox.show "No new version check back later"

Кажется, что существует метод .exists, который можно использовать локально, но я не совсем уверен, применим ли он здесь? Также кто-нибудь имел опыт проверки обновлений и googlecode? (т.е. адрес сформирован предсказуемым образом, так что то, что я спрашиваю, выполнимо?)

Ответы [ 4 ]

3 голосов
/ 11 июня 2009

Если вы точно знаете, что файл существует, вы можете проверить свойство IfModifiedSince .

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

См. Ссылку MSDN выше для примера.

3 голосов
/ 10 июня 2009

Первое, на что следует обратить внимание, это то, что MsgBox не покажет гиперссылку при любых обстоятельствах. Для этого у вас должна быть собственная форма.

Для актуального вопроса о том, как проверить файл в Интернете, вы хотите использовать класс System.Net.WebClient. Это позволит вам легко загрузить файл из Интернета.

Или используйте класс System.Net.HttpWebRequest для создания запроса на файл. Это немного сложнее в использовании, но позволит вам запросить файл и получить ответ от сервера без фактической загрузки всего файла.

2 голосов
/ 10 июня 2009

Я сделал нечто подобное, хотя он просто читает URL-адрес для текста и удаляет необходимую информацию с помощью регулярного выражения:

System.Net.WebClient().DownloadString(oURL).Split(Chr(10))

Затем я перебираю полученный массив (строк) и обрабатываю информацию.

Может быть, это поможет вам начать

1 голос
/ 10 июня 2009

Если бы вы были так, как я бы это сделал, у вас есть страница currentversion.html на сайте, содержащая номер текущей версии, тогда, если вы используете веб-запрос, описанный здесь http://msdn.microsoft.com/en-us/library/system.net.webrequest.aspx, вы можете найти эту версию, сравните с версией клиента, затем сделайте то, что вам нужно оттуда.

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