- Регистрация
- 23.05.2016
- Сообщения
- 1 451
- Благодарностей
- 564
- Баллы
- 113
Есть код в .dll
Чтобы не парсить постоянно страницу, я создал статическое поле и при первой инициализации помещаю в неё результаты. Все остальные методы используют уже спаршенные ноды обращаясь к статическому полю.
Только в ZP это очень странно работает.
Если запускать с отладкой кода в PM, то всё ОК
, а если без отладки, то в результатах какой-то бред.
Части данных вообще нет, пропадают куда-то.
Не мог понять, в чём проблема. Сейчас убрал статик с поля и в каждом методе идёт парс нодов и тогда всё работает как надо, что с отладкой, что без.
Я так понимаю это какая-то особенность работы ZP с C#.
Объясните, пожалуйста, как так получается?
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, то всё ОК
, а если без отладки, то в результатах какой-то бред.
Части данных вообще нет, пропадают куда-то.
Не мог понять, в чём проблема. Сейчас убрал статик с поля и в каждом методе идёт парс нодов и тогда всё работает как надо, что с отладкой, что без.
Я так понимаю это какая-то особенность работы ZP с C#.
Объясните, пожалуйста, как так получается?