Создание Первого Приложения На Nancyfx



Почему НэнсиFX? Сейчас, когда одностраничные приложения набирают популярность, серверная платформа должна фактически перенаправлять запрос пользователя по определенному маршруту на конкретную страницу.

К серверной части особых требований нет; от него требуется только перенаправление.

При использовании .

NET становится просто глупо использовать для таких целей такую махину, как ASP.NET MVC, 99% возможностей которой не будут использованы.

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

Одним из вариантов выхода из этой ситуации является использование фреймворка NancyFX, который является идеальным решением для таких ситуаций (если, конечно, вы используете .

NET на своем сервере).



Основными преимуществами этого фреймворка являются его легкость, простота (как будет показано ниже), а также то, что его можно размещать не только на хостинге Windows, но и на *unix-платформах с MONO.

Как и ASP.NET MVC, создатели NancyFX были вдохновлены проектом на языке Ruby. И если вдохновением для создания ASP.NET MVC стал Ruby on Rails, то в случае с NancyFX такой музой стал фреймворк Sinatra. Немного истории: В прошлом веке в США жил и был такой певец, как Фрэнк Синатра, и была у него дочь Нэнси, и собственно в честь этой Нэнси создатели рамки назвали свое детище.





Первая заявка на NancyFX

И так начнём.

Сначала давайте создадим пустое приложение ASP.NET.

Создание Первого Приложения На Nancyfx

После создания приложения обратимся к помощи уже полюбившегося nuget.

Создание Первого Приложения На Nancyfx

В поиске наберите nancy и установите два пакета Nancy (собственно для работы) и Nancy.Hosting.Aspnet (для хостинга соответственно).



Создание Первого Приложения На Nancyfx

После установки мы сможем увидеть в списке установленных пакетов следующую картинку:

Создание Первого Приложения На Nancyfx

Далее мы добавляем класс в проект. Назовем его NancyFxModule.

Создание Первого Приложения На Nancyfx

Мы наследуем класс от NancyModule и определяем конструктор класса.

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

Далее в конструкторе мы определяем делегат (с помощью лямбда-выражения), с помощью которого мы будем обрабатывать запросы к нашему приложению по корневому маршруту ("/").

В окончательном виде наш класс будет выглядеть так:

Создание Первого Приложения На Nancyfx

Теперь мы добавляем в проект настоящий html-файл.



Создание Первого Приложения На Nancyfx

Запускаем проект нажатием F5:

Создание Первого Приложения На Nancyfx

Как видите, процесс создания приложения занял около пяти минут. Все лаконично и предельно прозрачно.

Но давайте добавим еще один маршрут и модернизируем класс следующим образом:

Создание Первого Приложения На Nancyfx

NancyFx по умолчанию использует Super Simple View Engine. В отличие от Razor, он не поддерживает ViewBag, и мы моделируем VieBag, добавляя DinamicDictionary, а затем добавляя его в ViewModel. При желании вы можете подключить пакет Razor и пользоваться всеми преимуществами именно этого графического движка.

Следующим нашим действием будет добавление файла Hello.html в наш проект. Файл должен выглядеть так

Создание Первого Приложения На Nancyfx

После этого запустите приложение и получите следующий результат

Создание Первого Приложения На Nancyfx

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

Использованные материалы и полезные ссылки: nancyfx.org — сам сайт проекта ben.onfabrik.com/posts/nancy-vs-aspnet-mvc-getting-started — сравнение создания приложений MVC ASP.NET и NancyFX. github.com/NancyFx/Нэнси — проект на github. Visualstudiogallery.msdn.microsoft.com/f1e29f61-4dff-4b1e-a14b-6bd0d307611a — шаблоны проектов на Нэнси в галерее Visual Studio. Теги: #nancyfx #nancy #SuperSimpleViewEngine #.

NET #asp.net mvc #.

NET

Вместе с данным постом часто просматривают:

Автор Статьи


Зарегистрирован: 2020-05-08 04:52:38
Баллов опыта: 651
Всего постов на сайте: 2
Всего комментарий на сайте: 0
Dima Manisha

Dima Manisha

Эксперт Wmlog. Профессиональный веб-мастер, SEO-специалист, дизайнер, маркетолог и интернет-предприниматель.