ASP.NET MVC — работаем с MySQL через Entity Framework


Решил немного расширить предыдущую статью про ASP.NET MVC и MySQL. В ней речь шла про работу с MySQL в ASP.NET MVC не через практически стандартный ORM Entity Framework (EF), а с помощью прямого доступа к СУБД через ADO.NET. И была приведена реализация этого метода доступа. И хотя метод устаревший и не рекомендуемый к использованию, но иногда полезен: например, в высоконагруженных приложениях или когда разработчик сталкивается с ситуацией, когда ORM не может сгенерировать корректно работающий SQL-запрос. И иногда можно совмещать в приложении оба способа — и через ORM и через ADO.NET. В итоге я подумал, и решил дописать приложение: добавив в него реализацию репозитория для Entity Framework и сделать выбор из них зависимым от параметра приложения с помощью Dependency Resolver.

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

Продолжить чтение «ASP.NET MVC — работаем с MySQL через Entity Framework»

ASP.NET MVC – работаем с MySQL через ADO.NET


Уже, наверное, раза три подбираюсь к ASP.NET MVC. После десяти лет с ASP.NET WebForms немного сложно переходить именно к технологии MVC, поскольку отличий столько, что скорее проще перечислить, что у этих технологий общего – это разве что библиотеки .NET Framework. Я не буду писать тут – лучше или хуже MVC чем WebForms, просто они обе хороши, и на обеих технологиях можно построить хорошее приложение. Свои мысли по поводу необходимости TDD я тоже пока оставлю при себе, хотя их есть у меня.

А сейчас я буду говорить о стандартнейшей задаче – обычной работе с данными: просмотре в табличном виде списка записей, добавлении, изменении и удалении данных (операции CRUD). Однако практически во всех книгах и во многих решениях в интернете для ASP.NET MVC почему-то рассматривается вариант исключительно через ORM (Object Relation Mapping): или Entity Framework (EF) или LINQ для SQL. Технологии отличные, спору нет, наконец-то программист может и не разбираться – а как вообще эта самая реляционная СУБД (которой он, скорее всего, пользуется) вообще работает, и даже SQL, по идее, знать уже необязательно: прокладка в виде EF и коннектора для СУБД разберутся между собой. «Вот оно счастье – нет его краше». Но тем программистам, которые не боятся прямой работы с базой данных через механизм ADO.NET, зачастую непонятно – а с чего вообще начинать в ASP.NET MVC и надо ли.

Продолжить чтение «ASP.NET MVC – работаем с MySQL через ADO.NET»

СЭД Визирь — переезд на новый домен


Сайт системы документооборота «Визирь» переехал на новый домен: vizier.su.

Заодно, впервые за 5 лет внесены изменения в проект — из файлов ресурса вынесены регулярные выражения проверки корректности почты и пароля в файл параметров приложения (app.config). Теперь их можно настраивать на серверной стороне. Приложение (с инсталляционным пакетом) по прежнему можно скачать на странице http://vizier.su/app2.html. Для обновления уже установленного приложения на сервере нужно заменить все файлы в каталоге веб-приложения «Визирь» на файлы из каталога Vizier в архиве, кроме файлов app.config и web.config. А в файле app.config надо добавить строки для двух новых параметров:

<!-- Регулярное выражение для почты -->
<add key="RegularEmail" value="^((([-._a-z0-9]+@(?:[a-z0-9][-a-z0-9]+\.)+[a-z]{2,6});)*)([-._a-z0-9]+@(?:[a-z0-9][-a-z0-9]+\.)+[a-z]{2,6})$"/>
<!-- Регулярное выражение для паролей -->
<add key="RegularPassword" value="^((?=.*[\W]{0,}).{6,})$"/>

Напоминаю, что данное приложение сейчас можно использовать без каких-либо ограничений даже для юридических лиц. Единственное — в заголовке будет написано «ОЗНАКОМИТЕЛЬНАЯ ВЕРСИЯ».

Статья на Хабр про СЭД «Визирь»


Написал на Хабр статью про свою систему электронного документооборота «Визирь» в честь 10-летнего юбилея завершения разработки системы (она, конечно, допиливалась и в 2010 году, но в основном только обвес — инструкции, инсталляционные скрипты и т.п.). Посвящена эта статья не сколько рассказу о самой системе и её возможностям (для этого есть сайт vizier.su), а, в основном, истории создания и объяснению причин, почему система получилась такой, какой она получилась. Продолжить чтение «Статья на Хабр про СЭД «Визирь»»

Что такое CHPP и с чем его едят


Как написано в разделе «О CHPP» на сайте www.hattrick.org:

CHPP («Certified Hattrick Product Provider») — сеть для программистов в сообществе Hattrick.

Что же это такое? В принципе, эта информация вполне открытая, узнать что это и зачем можно в разделе CHPP приложения — там есть такие разделы как: Что такое CHPP? и Как это работает. Если вкратце, то можно сказать так: поскольку команда разработчиков Hattrick не имеет возможности реализовывать любые пожелания пользователей по созданию дополнительных инструментов, помогающих им в этой игре, но заинтересована в том, чтобы такие инструменты существовали (понятно почему), то разработчикам предоставляется некое API, с помощью которого они могут получать данные из системы Hattrick и на основе этого реализовывать свои приложения. Получение данных, используя это API, реализовано отправкой запроса с параметрами на специальный веб-адрес CHPP Hattrick’а и получением в ответ xml-файла, содержащего нужную информацию.
Продолжить чтение «Что такое CHPP и с чем его едят»

История создания одного CHPP-приложения для Hattrick.org…


Всё началось с того, что я откликнулся на призыв тренера старшей сборной России (Spirit_of_Gold) о помощи в доработке трекера игроков сборных онлайнового футбольного менеджера Hattrick.org. С этой помощью особо не получилось – трекер уже писался на PHP, а я уже года с 2005 на нем ничего серьезного не делал и давно уже специализируюсь на ASP.NET. Тогда Spirit_of_Gold предложил писать что-нибудь другое, например, сайт со статистикой сборных – сначала России, а в будущем и всех остальных стран. Мне эта идея тоже показалась интересной (давно хотел попробовать что же за зверь такой — CHPP) и работа началась. Был конец февраля 2012 года. Продолжить чтение «История создания одного CHPP-приложения для Hattrick.org…»