Как отправлять сообщения в мои клиентские приложения, используя c # - PullRequest
1 голос
/ 26 ноября 2011

Я создал приложение.

Обычно я делаю изменения в своем заявлении.

Но люди, которые приняли мое заявление, должны знать, что я обновил в своем

применение.

Я не могу позвонить всем и сказать, что я обновил свое приложение, и вы можете скачать

это с моего сайта.

Я хочу отправлять сообщения своим клиентским приложениям, используя c #.

Я не знаю, как я могу отправить его и как они могут его получить.

Было бы очень признательно, если бы кто-нибудь помог мне.

Заранее спасибо.

Ответы [ 2 ]

2 голосов
/ 26 ноября 2011

Вы можете создать одну таблицу с самой новой версией приложения в базе данных (если ваше приложение использует ее, если нет - достаточно файла, такого как XML), и заставить ваше приложение проверять загрузку, если пользовательская версия опустите тот из базы данных. Если это так: отобразить информацию со ссылкой, что «доступна новая версия, пожалуйста, загрузите ее с ...»

0 голосов
/ 26 ноября 2011

Вы, вероятно, разместили свое приложение в Интернете для загрузки, верно? Затем добавьте также файл версии.

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

static public class Deployment
{
    public static readonly string WebSite = @"....";
    public const string version_filename = "version";

    static string get_version(Stream stream)
    {
        var lines = new List<string>();

        var reader = new StreamReader(stream);

        while (true)
        {
            var s = reader.ReadLine();
            if (s == null)
                break;

            lines.Add(s);
        }

        stream.Close();

        return lines.Join(CHAR.LineFeed).Trim();
    }
    static string GetWebVersionInfo()
    {
        try
        {
            var client = new WebClient();
            using (var stream = client.OpenRead(WebSite + version_filename))
                return get_version(stream);
        }
        catch
        {
            return null;
        }
    }
    static string GetLocalVersionInfo()
    {
        try
        {
            using (var stream = new FileStream(System.IO.Path.GetDirectoryName(ProgramInfo.FilePath) +
                                               System.IO.Path.DirectorySeparatorChar +
                                               version_filename, FileMode.Open, FileAccess.Read))
                return get_version(stream);
        }
        catch
        {
            return null;
        }
    }
    static public bool IsNewVersionAvailable()
    {
        var web_version = Deployment.GetWebVersionInfo();
        var exe_version = Deployment.GetLocalVersionInfo(); 

        return (web_version != null && (exe_version == null || exe_version.Comparison(web_version) == CompareEnum.Less));
    }

}

Он не скомпилируется сразу , потому что здесь отсутствуют некоторые тривиальные символы, но у вас есть идея, я надеюсь.

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