Приложение аварийного снимка dotmemory

Resharper Ultimate: 2016.3.2 DotMemory: 2016.3.2 Visual studio 2017 Windows 7 Prism 6.3.0 Ninject

Это немного странно, поэтому я не уверен, как именно это описать, но я попробую.

Первоначально у меня были страницы, настроенные для регистрации в их регионах, поэтому все мои страницы были объявлены следующим образом

_kernel.Bind<IPageView, PageView>().To<PageView>();

с последующей привязкой их к региону.

_regionManager.RegisterViewWithRegion(RegionNames.ContentRegion, typeof(PageView));

При обновлении я решил, что вместо того, чтобы связывать страницы и регистрировать их с регионом, я переключился на использование RequestNavigate, поэтому я удалил регистрацию представления с регионом и изменил привязку на

_kernel.RegisterTypeForNavigation<PageView>( PageNames.MyPage);

В режиме отладки все это прекрасно работало. Однако здесь все становится странным. Я запустил dotmemory, чтобы провести некоторое тестирование на утечку, и обнаружил, что если я сделаю снимок перед тем, как войти на определенные страницы, программное обеспечение вылетит. Если я не сделал снимок или сделал снимок после входа на страницу, ничего не происходит.

Кроме того, если я добавлю

_kernel.get<PageView>();

после привязки страницы у меня тоже проблем нет. (так что сейчас это мое ужасное временное исправление)

Мне просто интересно, есть ли у кого-нибудь идея, почему это может происходить. Единственные два вывода, которые я сделал, это либо

a) RequestNavigate не разрешается через нинъект правильно. б) Каким-то образом получение снимка из dotmemory приводит к очистке всего, что еще не было разрешено из ядра.

Я не ожидаю многого, но если у кого-то есть какие-либо идеи, что может быть причиной этого, это поможет немало.

0 ответов

Другие вопросы по тегам