Денис Гончаренко: Смысл этих виртуальных полей - поддержка описания схемы базы данных при подходе Code First, не более. Поэтому использование моделей базы данных в качестве моделей приложения является плохой практикой.
John Smith: Да, при первом логине. Лучше HTTPS пока что ничего не придумано. И погуглите про JWT токены. Там шифруются данные о пользователе, которые проверяются при запросе на сервер.
Славка: Какой вопрос такой и ответ. Просили переписать - вот. По сути комментария. Что значит асинхронным? Если очень грубо, async / await это не про асинхронность работы, это про то что в момент выполнения кода если встречается вызов async метода с ключевым словом await он выполняется асинхронно в пуле потоков, UI не фризится, но ожидается результат выполнения (или просто завершение метода) . Это сахар для удобства работы с методами, которые выполняются долго, и ни о какой асинхронности речь не идёт.
Т.е. Если вы напишите как-то так:
await _experiment.StartAsync(data);
await _experiment.StartAsync(data);
await _experiment.StartAsync(data);
То это не значит что при вызове метода сразу будет выполняться будет следующая строка, это значит что ждем пока выполнение метода завершится и только тогда переходим к следующей строке.
Если нужно именно асинхронное поведение в классическом понимании (запустили, ничего не ждем, результат получаем в callback методе), то ваш код вполне имеет право на жизнь.
Дмитрий Еремин: Голословное утверждение.
1. С# интенсивнее развивается. Например, когда в Java появились лямбды, реактивное программирование, биндинги и когда в C#.
2. Установкой приложения занимаются либо установщики (Win, Mac), либо специализированные утилиты типа apt-get на Linux. И там и там дело решается прописыванием зависимостей (либо руками в конфигах, либо чекбоксами). Т.е конечному пользователю не нужно что-то руками ставить, кроме самого приложения.
3.Под под андроид тоже можно на C# писать, причем до 80% общего кода можно расшарить между android, ios, windows, linux, mac os, и около 30% для asp.net mvc web api. UI под тот же андроид компилируется в нативные контролы.
Ethernets: Это не важно, т.к отлаживать бота можно в эмуляторе. В доках есть ссылка на его скачивание. Когда создавать бота в интерфейсе - это уже дело вкуса.
Алексей: В вопросительном знаке ничего плохого, хотя все равно нужно обдуманно его ставить, а не просто так потому что можно.
Click.Invoke(this, e); А вот это что?
Алексей Скобкин: Там ставится Xamarin (если галочки проставить), но шаблонов проектов под GTK# (именно эта штука для клепания кроссплатформенных форм) - нет. Но в Xamarin Studio такой шаблон проектов есть. И все равно отлаживать и собирать нужно на Linux, мало ли чего...
Геннадий: попробуйте в системных настройках прокси указать пользователя и пароль для авторизации на прокси. Логин и пароль берётся у админов. Если эмулятор написан с поддержкой прокси и админы дадут логин с паролем для авторизации - должно заработать.