VB.NET Динамическое обновление ссылок в Ленте VSTO - PullRequest
0 голосов
/ 17 мая 2018

У меня есть пользовательская надстройка ленты Office, встроенная в VB.NET (Framework 4.6.1), в VSTO 2017 (не имеет значения, какое приложение Office нужно будет сделать в Excel, Word, Outlook и Силовая установка). На ленте есть кнопка, которая ведет пользователя по ссылке, и эта ссылка в настоящее время жестко запрограммирована (см. Пример ниже):

Dim myLink1 as String = "http://www.bing.com"
Diagnostics.Process.Start(myLink1)  'Opens to bing.com

Есть ли способ сделать эту ссылку динамической? В идеале я мог бы иметь таблицу или ресурс в сети где-нибудь с таким псевдокодом:

myLink1 = GoTo("http://MasterURL.com").RetrieveLink(1)
Diagnostics.Process.Start(myLink1) 'I can update myLink1 to google.com

Таким образом, мне не нужно выдавать обновление пользователям в случае изменения myLink1, я могу просто обновить его на каком-то веб-сайте MasterURL.com или где-нибудь на сервере, и лента получит его и направит на эту страницу.

Это кажется простой / простой вещью, но я не могу найти решение.

Большое спасибо

1 Ответ

0 голосов
/ 18 мая 2018

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

В качестве примера я привел несколько тестовых API Google и нашел это https://jsonplaceholder.typicode.com/ Сайты предоставляют API, который каждый может вызвать для тестирования

Вот пример того, как вы можете это сделать (есть много способов) без какой-либо обработки ошибок и т. Д.

class Program
{
    static void Main(string[] args)
    {
        // here is your on-line source
        var url = "https://jsonplaceholder.typicode.com/posts";

        string responseFromServer;

        var request = WebRequest.Create(url);
        request.Credentials = CredentialCache.DefaultCredentials;

        using (var response = request.GetResponse())
        {
            using (var dataStream = response.GetResponseStream())
            {
                StreamReader reader = new StreamReader(dataStream);
                responseFromServer = reader.ReadToEnd();
            }
        }

        Console.WriteLine(responseFromServer);
        Console.Read();
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...