Доступ в интернет для плагина

Автор Тема: Доступ в интернет для плагина  (Прочитано 6149 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Тема содержит сообщение с Решением. Нажмите здесь чтобы посмотреть его.

Оффлайн BrayanАвтор темы

  • ADN OPEN
  • Сообщений: 24
  • Карма: 1
Всем привет. У меня такая странная проблема. Открыл старый проект, над которым работал ранее и всё было ок. Но теперь по каким-то причинам, команда, которую я создал отказывается запускаться, никаких окон, предупреждений, просто ничего не происходит. При запуске отладки, кажется что просто код не выполняется. Дело в том, что это приложение обращается на веб сервер. Делает JSON запрос и возвращает кое какую информацию для обработки. Так вот как только я закомментировал ту часть кода, благодаря которой происходит обращение в интернет, команда начинает работать, появляются диалоги и т.д. Вопрос - есть ли какие-то механизмы дающие разрешение плагинам написанным для Autocad обращаться в интернет? Может какая-то системная переменная или типа того. Никто с таким не сталкивался?
Кусок кода, который я закомментировал, приведу ниже:
Код - C# [Выбрать]
  1.  using (WebClient wc = new WebClient())
  2.                     {
  3.                         var json = wc.DownloadString("https://ms-xxx.xx/wp-json/catalog/v1/db/flat/" + jsonQuery);
  4.                         var info = JsonConvert.DeserializeObject<Dictionary<string, object>[]>(json);
  5.                         foreach (Dictionary<string, object> msItem in info)
  6.                         {
  7.                             Tuple<string, string, string, string> plVar = new Tuple<string, string, string, string>
  8.                                 (msItem["Material"].ToString(), msItem["Cost"].ToString(),
  9.                                 msItem["L"].ToString(), msItem["H"].ToString());
  10.                             item.msInfo.Add(plVar);
  11.                         }
  12.                     }

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13882
  • Карма: 1787
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: Доступ в интернет для плагина
« Ответ #1 : 14-11-2020, 17:24:49 »
Вопрос - есть ли какие-то механизмы дающие разрешение плагинам написанным для Autocad обращаться в интернет?
На уровне AutoCAD API такого точно нет и точно нет никакой системной переменной за это отвечающей. Проверь есть ли вообще обращение к интернету и доступен ли указанный тобой сайт, не застряет ли у тебя команда на wc.DownloadString(...), ну и так далее. Проверь этот же кусок кода в отдельном приложении вне AutoCAD.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн Дмитрий Загорулькин

  • ADN
  • *
  • Сообщений: 2531
  • Карма: 737
Re: Доступ в интернет для плагина
« Ответ #2 : 14-11-2020, 22:22:33 »
Очень похоже на поведение, когда не может найти какую-то стороннюю вспомогательную DLL.

Отмечено как Решение Александр Ривилис 22-11-2020, 19:13:00

Оффлайн BrayanАвтор темы

  • ADN OPEN
  • Сообщений: 24
  • Карма: 1
Re: Доступ в интернет для плагина
« Ответ #3 : 21-11-2020, 22:06:44 »
Оказалось причин было целых 3. Но основная почему у меня не работала отладка и я не мог понять в чём ошибка - версионность JSON. Видимо, для какого-то другого проекта стояла другая версия библиотеки Newtonsoft json. А ещё у меня не работал маппинг для запросов json и на сервере, к которому я подключался кто-то включил проверку UserAgent. :-\