Обычно это происходит при попытке входа в систему из другого часового пояса или компьютера с IP-адресом. Ваш рабочий сервер и используемый вами почтовый идентификатор находятся в разных часовых поясах. Выберите одно из решений:
1) Войдите на рабочий сервер через удаленный доступ и войдите в gmail, указав свои учетные данные. Они попросят подтверждение, подтвердят его и выйдут.
Или 2) войдите в gmail на локальный компьютер, перейдите по этой ссылке , выберите , просмотрите это действие и выполните соответствующие действия.
Я нашел это по этой ссылке. Ошибка Gmail: SMTP-серверу требуется безопасное соединение, или клиент не прошел аутентификацию. Ответ сервера: 5.5.1 Требуется аутентификация
Я думаю каждый из методов, которые Вы обрисовали в общих чертах, имеет его достоинства и его оборотные стороны. То, которое Вы выбираете, будет вопросом персонального предпочтения, событиями тех, которые в Вашей команде и типе проекта - Linq2Sql является большим встать и работающий быстро, но не мог бы подойти лучше всего для большого и/или сложного проекта предприятия, например.. лучшая вещь, которую можно сделать, существует попытка некоторые, и узнайте их.
Что касается шаблонов, они помогают решить определенные и повторяющиеся проблемы доказанным способом. Они также помогают ознакомлению для разработчиков, которые не написали код. Как выше, стоит попробовать некоторых для получения ощущения того, что они делают и когда использовать их - но они решения определенных проблем программирования, а не архитектурных шаблонов.
Мои типичные рабочие выполнения процесса:
Я обычно разделял бы Доступ к данным и Бизнес-объекты, Бизнес-логику и Презентацию (веб-сайт / winforms) в их собственные проекты, плюс что-либо, что я мог бы хотеть снова использовать, позднее также входит в его собственный проект. У меня также есть Основной проект, содержащий общие расширения и интерфейсы, которые я снова использую почти во всем, что я делаю.
С точки зрения архитектуры я пытаюсь удостовериться, что мои проекты слабо связываются так, чтобы можно было легко переместиться от уровня трех до n-tier архитектуры легко. Слабая связь также означает, что можно переключить запоминающее устройство и все, что необходимо сделать, записать новый Уровень доступа к данным со всей логикой и кодом презентации, остающимся неизменным.
Я думаю, что важно не стать слишком одержимым три по сравнению с уровнем n - если Вы отделитесь, то Ваши проблемы, правильно расширяющие Вашу систему через несколько уровней в более позднюю дату, не будут трудным осуществлением.
Я не исключил бы ASP.NET MVC.
Предвыпускная версия должна в январе, и удивительно на этот раз Microsoft, кажется, следует за истинным значением RC и если любые выставочные ошибки стопора не будут найдены, это будет также сделано версией RTM.
Я лично - поклонник n-tier архитектуры. Когда я начну, я буду обычно создавать два проекта для веб-приложения, первое для Бизнес-логики и Доступа к базе данных, это - проект библиотеки классов. Затем я добавляю проект веб-приложения для фактического веб-сайта.
Я создал в прошлом платформу доступа к данным, которую я использую, который усиливает Microsoft Data Application Block для всего доступа к данным, и именно это я использую для структурирования всех вызовов данных.
Я время от времени использовал codesmith или другие объекты, но до сих пор, я нашел лучшую удачу, просто прокрутив мой собственный код, поскольку я могу стать более детализированным с данными. Предоставил, было ли у меня время для исследования других инструментов ORM, я, возможно, не должен был бы быть обеспокоен этим...
Я нахожу, что лучший подход должен обычно создавать Ваши бизнес-объекты, подтверждение правильности данных и все "бизнес-" части приложения. Затем программа в частях доступа к данным и конец путем помещения всего вместе с презентацией кодируют в конце. Требуется некоторая дисциплина, чтобы смочь сделать это, но это гарантирует создание вещей способом, который может быть снова использован, и я имел большой успех.
Книга, на которую Вы сослались, могла бы быть хорошим примером для запуска с также.
Дополнение из комментария
В ответ на добавленный комментарий. Обычно в моей библиотеке классов Бизнеса/Данных я буду использовать пространства имен для выделения логики от данных. Несколько ключевых вещей сделаны здесь.
Мои вызовы метода данных все ограничены в объеме блоком, они не объекты, которые можно назвать непосредственно, этот способ, которым я осуществляю доступ к данным через бизнес-логику для всех вызывающих сторон презентации
Весь ввод и вывод данных сделан через объекты, а не DataSets или любой другой вариант
Бизнес-методы после проверки назовут определенные методы от компонентов данных для получения необходимой информации.
Такой широко (и хороший) вопрос. Глубокий вздох.
Для не отнимания у Шаблонов разработки, но они - тактика по сравнению со стратегией архитектуры. Изучите их, конечно, но это не является особенно подходящим здесь.
Много вещей, которые Вы упоминаете в вопросе, не является взаимоисключающим и могло считаться подстратегиями определенных разделов полной архитектуры. Мои персональные предпочтения изменялись чрезвычайно со временем и с опытом, и я все еще абсолютно наивен из некоторой захватывающей технологии, но fwiw, я думаю, существует только одна глобальная константа архитектуры:
Разделение проблем.
Этот принцип является Вашим "золотым стандартом", я думаю, который сообщает такому количеству хороших вещей: поблочное тестирование, разработайте согласно контракту, внедрению зависимости, MVC, n-tier. Я говорю, что первый шаг должен понять SoC, и второе должно действовать на него с разработкой через тестирование. Все остальное я думаю, имеет за и против, но преимущества обслуживания, концепции и архитектуры, управляемой путем распознавания проблем сначала, вне сомнения.
Моя папка закладок не то, что я думал, что это было, но это некоторые части онлайн, которые укрепили мои мнения об этом вопросе:
Править: где Вы запускаете с пустого полотна?
Добавьте свою предпочтительную библиотеку модульного теста и изобразите схематически тесты (иначе факты).
Тест> Дизайн> Код> Goto 1