Непонятное поведение ZennoPoster и сторонней .dll с отладкой и без в коде PM

Meteorburn

Client
Регистрация
23.05.2016
Сообщения
1 446
Благодарностей
564
Баллы
113
Есть код в .dll
C#:
        private static List<HtmlNode>? _scriptNodes;

        public static void GetScriptNodes(this string response)
        {
            // Return cached singleton if already initialized
            if (_scriptNodes == null)
            {
                // Response To UTF8
                string decodedResponse = response.RawToUtf8();
               
                // Parse html body
                var html = new HtmlDocument();
                html.LoadHtml(decodedResponse);
               
                // Get script nodes
                _scriptNodes = html.DocumentNode.Descendants("script").ToList();
            }
        }
Чтобы не парсить постоянно страницу, я создал статическое поле и при первой инициализации помещаю в неё результаты. Все остальные методы используют уже спаршенные ноды обращаясь к статическому полю.

Только в ZP это очень странно работает.
Если запускать с отладкой кода в PM, то всё ОК
65793

, а если без отладки, то в результатах какой-то бред.
65794

Части данных вообще нет, пропадают куда-то.
Не мог понять, в чём проблема. Сейчас убрал статик с поля и в каждом методе идёт парс нодов и тогда всё работает как надо, что с отладкой, что без.

Я так понимаю это какая-то особенность работы ZP с C#.

Объясните, пожалуйста, как так получается?
 

Yuriy Zymlex

Moderator
Команда форума
Регистрация
24.10.2016
Сообщения
6 369
Благодарностей
3 294
Баллы
113
Отладка в PM идёт в отдельном процессе, это может влиять.
 
  • Спасибо
Реакции: Meteorburn

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)