Teacher: благодарю за пример! Но, он немного не то, что я ищу: в нем нельзя контролировать State главного окна (как я написал выше, выходит логин форма, вводим данные, скрывается окно и открывается другое, при логауте снова открывается логин формм). То есть, какой-нибудь объект, который контролирует все окна (включая Main), и делает это полностью в рамках MVVM.
Здравствуйте! Пожалуйста, скинтье более развернутый пример. И желательно такой подход, который сейчас используется MVVM-разработчиками. Как я уже написал выше, везде нахожу примеры, где показываются какие-то View в рамках одного окна, а не нескольких; если по-простому: то нужен какой-нибудь пример, полностью соответствующий MVVM, для работы с View в рамках разных окон, и чтобы State этих окон тоже контролировались (Hide/Show/Close/Tray/...). Благодарю!
dmitry_dvm: благодарю. В разных окнах, потому что такой подход более желателен для десктопных приложений. Вы, как я понял, больше со стороны мобильной разработки рассматриваете такой подход. И приложений нового вида (Windows 8, Windows 10).
Я впервые на стеке WPF/MVVM, и для меня это очень сложно =) Да, буду рад, если скинете пример. Я перерыл ВСЕ примеры разных MVVM фреймворков, но нигде не нашел пример с скрытием/открытием окна. Именно ОКНА, а не контейнеров/элементов разных внутри окна. Например: запустил программу, появилось первое окно, ввел данные, это окно закрылось и/или скрылось, и открылось другое окно. В этом другом окно есть кнопка Logout, нажав которую пользователь снова попадет на маленькое окошко ввода логина/пароля.
Буду очень признателен, если Вы смогли бы быстро накидать пример простой, полностью соответствующий MVVM. Сейчас составляет большую сложность, потому что всю жизнь на ASP.NET MVC работал, да и паттерн MVVM довольно-таки сложный, слишком много строчек и манипуляции надо производить, чтобы простенькую вещь сделать.
Всю жизнь на ASP.NET работал, ну и чуть-чуть на WinForms/MVP. Сложновато с пониманием. Что-то на сайте не нашел примеров подходящих, они все выполнены в одном окне.
Михаил: Отключил файл подкачки для диска. Загрузился с LiveCD, удалил все файлы .sys, связанные с подкачкой и гибернацией. Потом зашел на Program Files, там удалил все Metro-программы (C:\Program Files\WindowsApps). И прошелся по %appdata%, тоже вычистил мусор. Потом включил функцию "сжатие данных для экономии места", применил ко всем объектам. Освободилось достаточное место для установки VS 2013.4. Еще осталось 3 Гб свободного места после установки.
Артем Воронов: Дело в том, что по стандартному запросу в гугле вообще ничего не выходит, кроме паттернов дизайна мобильных приложении. :( Может, это в техническом плане по-другому называется?
Сергей: habrahabr.ru/post/143024 — про старую, в новом оно не сильно изменилось. А из 2.X самые явные: нельзя проверять куки при запросе (app_begin) — если пользователь залогинен в одном браузере, потом зашел с другого браузера и изменил пароль, сессия в первом браузере не удаляется. Это уже не говоря о том, что система привязана к EF/SQL-Server. Приходится писать или пользоваться уже готовыми провайдерами, к тому же MongoDB/MySQL/PG.. И с учетом обновления OWINcontext каждые 2 месяца, эти провайдеры на NuGet зачастую устаревают.
Сергей: Identity не годится. Там очень много косяков, и чтобы исправить их, надо много чего реализовывать самому. Я сейчас не имею в виду кастомные провайдеры, а именно саму систему Identity 2.X
mjr27: в обновлениях 2012 не было таких частых косяков. В 2013.3 при создании MVC-проекта появляются вьюшки, с которыми нельзя взаимодействовать — решение MS — удалить. И, похоже, в 2013.4 так же халатно отнеслись.. Очень надеюсь, что косяки связаны тем, что лучшая часть команды трудится над C# 6, Roslyn и vNext, и им не до старой 2013 вижулаки :)
Rapax: спасибо за уточнение :) И все же, я не заявлял, что WebAPI — есть полная замена WCF — оставил на усмотрение задававшему вопрос. WCF чаще используется в всяких АСУТП-подобных проектах и компаниях, и там джуниоров, насколько мне известно, не берут.