Как полностью сбросить приложение ac # в коде? - PullRequest
0 голосов
/ 28 августа 2009

У меня есть приложение с функциями входа / выхода. Когда пользователь выходит из системы, я хочу полностью сбросить все классы и переменные (я использую статические классы, так что это еще больше усложняет задачу).

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

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

1) Перезагрузите приложение, закрыв сам процесс и перезапустив 2) Поддерживайте работоспособность приложения и сбрасывайте все данные и переменные (включая окна) - возможно, с помощью AppDomain.Unload / Load или какой-либо комбинации

Любой совет?

Ответы [ 2 ]

2 голосов
/ 29 сентября 2009

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

0 голосов
/ 28 августа 2009

Если вариант 1 является допустимым, то он, безусловно, самый простой, поэтому я бы так и сделал.

Использование AppDomains в качестве песочницы не без проблем, как вы можете видеть из этого вопроса: .NET - Какой лучший способ реализовать «обработчик всех исключений»

...