Как стать автором
Обновить
-0.2

ASP *

Технология создания веб-приложений и веб-сервисов

Сначала показывать
Порог рейтинга
Уровень сложности

Делаем чат на ASP.NET с помощью Web Socket

Время на прочтение4 мин
Количество просмотров80K

Вступление



Я думаю, что многие веб-разработчики задают себе вопрос о том, как передать пользователю какое-либо сообщение, напоминание. Раньше для этого было необходимо постоянно отправлять запросы к веб-серверу, но теперь появилась такая удобная технология, как Web Socket.

В этой статье я хочу показать, как можно написать простой чат на ASP.NET MVC 4 с помощью Web Socket.

Читать дальше →
Всего голосов 42: ↑33 и ↓9+24
Комментарии26

Miguel de Icaza про ASP.NET MVC, Moonlight и суд над Android

Время на прочтение5 мин
Количество просмотров2.7K


Предлагаю перевод недавнего интервью Мигеля для портала InfoQ.

У нас появился шанс связаться с Мигелем де Икаса, основателем проекта Mono и материнской компании Xamarin. Мы затронули несколько тем, включая будущее ASP.NET MVC в Mono и прекращение разработки Moonlight.
Читать дальше →
Всего голосов 47: ↑44 и ↓3+41
Комментарии11

Локализация ASP.NET MVC приложения с помощью БД

Время на прочтение8 мин
Количество просмотров18K

Данная статья будет узконаправленной и покрывает локализацию через БД, поэтому подробно расписывать как делать локализацию с помощью файлов ресурсов (resx) можно посмотреть, например, тут: MVC 2: Полное руководство по локализации. Для локализации с помощью представлений я тоже там ссылки.

Для начала я кратко расскажу о вариантах локализации сайта, покажу пример создания своего ResourceProviderFactory, после чего создам небольшое приложение для демонстрации.

Читать дальше →
Всего голосов 31: ↑21 и ↓10+11
Комментарии11

Непутевые заметки о ASP.NET MVC. Часть 1 (и единственная)

Время на прочтение11 мин
Количество просмотров41K
В последнее время на Хабре часто начали появляться статьи о ASP.NET MVC. Однако в этой статье я бы хотел сделать несколько заметок по поводу построения приложений на вышеприведенном фреймворке: минимальный набор NuGet-packages (без которых грех начинать работу), логирование, подводные камни при использовании стандартных membership-, profile- провайдеров. И, напоследок, почему Web API из MVC 4 — то, что так долго мы все ждали.
Поехали
Всего голосов 60: ↑48 и ↓12+36
Комментарии72

Истории

Условно-бесплатный курс Building ASP.NET MVC Apps with EF Code First, HTML5, and jQuery

Время на прочтение2 мин
Количество просмотров2.3K
image

Pluralsight предоставляет условно-бесплатную подписку на данный курс в течение одного месяца. Для того, чтобы получить подписку, необходимо выполнить следующие действия:
Читать дальше →
Всего голосов 11: ↑5 и ↓6-1
Комментарии4

Асинхронное программирование в приложениях ASP.NET MVC 4

Время на прочтение6 мин
Количество просмотров42K
Прочитав статью об изучении MVC и увидев комментарий пользователя RouR, я очень заинтересовался данной темой, ну и на ходу решил перевести указанную им оригинальную статью.

Если и тебе, дорогой хабражитель, это интересно — прошу под кат!

«Я попробую показать вам, что нового несет в себе C# 5.0 с точки зрения асинхронного программирования при использовании ключевого слова await. Особенно для веб-приложений ASP.NET MVC 4.»

Читать дальше →
Всего голосов 18: ↑14 и ↓4+10
Комментарии12

Должен ли ты использовать .Net для своего стартапа?

Время на прочтение3 мин
Количество просмотров5.1K
Для тех кто не заметил, это перевод. Заранее извиняюсь, если перевод не качественный, некоторые вещи не мог понять как лучше перевести не исказив смысл. Если есть какие-то замечание прошу писать в личку.

Я получаю этот вопрос очень часто, как от людей внутри и снаружи .Net сообщества, и не так давно мне задали этот вопрос на Quora. Вот мой ответ. Пожалуйста, имейте в виду, что это мое мнение, и я не могу обещать, что я прав, но я могу обещать, что это то, что я действительно думаю, и если вы подошли на улице и спросил меня, «Должен ли я использовать. Net для моего стартапа? » это то, что я бы вам ответил.
Читать дальше →
Всего голосов 80: ↑52 и ↓28+24
Комментарии118

Фильтры данных на ASP.NET MVC и Entity Framework

Время на прочтение12 мин
Количество просмотров23K
Очень часто в различных веб-приложениях мы работаем с данными, выбранными из таблиц БД. И нередко необходимо предоставлять пользователю возможность фильтровать эти данные. Можно, конечно, для каждого случая собирать данные с формы в ручную и в ручную создавать соответствующий запрос под них. Но что если у нас 20 разных страниц, представляющих те, или иные данные? Обрабатывать в ручную все долго и не удобно, а поддерживать еще хуже. Моя версия решения данной проблемы на ASP.NET MVC + Entity Framework под катом.
Читать дальше →
Всего голосов 18: ↑17 и ↓1+16
Комментарии42

Dependency injection в MVC 3 Framework на примере Autofac

Время на прочтение4 мин
Количество просмотров15K
В настоящее время трудно представить себе приложение на MVC3Framework без использования Dependency injection. Это статья рассчитана на тех кто знает, что такое DI, но никогда не использовал Autofac для этого.
Так же отмечу что более подробно об Autofac вы сможете прочитать тут

Для начала мы должны скачать и включить библиотеки Autofac в проект. Для этого я использую NuGet. Введите в консоли:
PM> Install-Package Autofac Устанавливаем сам Autofac
PM> Install-Package Autofac.Mvc3 И дополнения к Mvc3

Так же вы можете воспользоваться визуальным редактором NuGet, или просто скачать и подключить эти сборки.
Ниже написан код для инициализации Autofac, я постарался включить сюда основные варианты инициализации.
Читать дальше →
Всего голосов 10: ↑7 и ↓3+4
Комментарии4

Сессии в ASP.NET или как создать собственный провайдер

Время на прочтение11 мин
Количество просмотров32K


ASP.NET предлагает множество вариантов для работы с сессиями из коробки:
  • Хранение информации о сессиях в памяти сервера, внутри процесса ASP.NET
  • Хранение информации о сессиях на сервере состояний
  • Хранение информации о сессиях в базе данных SQL Server в заранее предопределенной схеме

Но сколько бы ни было вариантов из коробки, они не могут полностью ответить на те задачи, которые встают перед разработчиком. В этой статье мы рассмотрим как реализовать собственный провайдер хранилища состояния сессий (сеансов) для ASP.NET (MVC).

В качестве хранилища сессий будет выступать SQL Server. Работать с базой данных мы будем через EntityFramework.

Сегодня пятница, можно дальше не читать...
Всего голосов 22: ↑17 и ↓5+12
Комментарии1

Microsoft перевел в Open Source еще одну часть стека технологий ASP.NET

Время на прочтение2 мин
Количество просмотров2.4K
Пару дней назад Microsoft анонсировал что еще один компонент .Net Framework будет доступен для скачивания в исходных текстах по лицензии Apache License 2.0. Таким образом, теперь весь ASP.NET стек распространяется в исходных текстах, включая Razor Engine, System.Json, Web API и Web Pages. Он доступен как для скачивания так и для просмотра истории изменения. С этим релизом вся группа проектов будет работать по правилам Open Source, делая возможным включения своего собственного функционала и исправления ошибок любым членом сообщества, при полной поддержке кода со стороны Microsoft.
Читать дальше →
Всего голосов 54: ↑46 и ↓8+38
Комментарии22

In-line редактирование табличных данных в ASP.Net MVC 3

Время на прочтение7 мин
Количество просмотров3.3K
Представляю вашему вниманию ещё одну реализацию AjaxGrid на ASP.Net MVC 3.
В статье рассказывается как создать табличную форму с inline редактированием, ajax сортировкой и ajax пейджером.
Читать дальше →
Всего голосов 15: ↑10 и ↓5+5
Комментарии0

Обработка всех исключений в контроллерах с помощью атрибута

Время на прочтение3 мин
Количество просмотров14K
Всё мы знаем, что в ASP.NET MVC есть такой атрибут HandleErrorAttribute, который как сказано в MSDN
Представляет атрибут, используемый для обработки исключения, вызываемого методом действия.

Но нигде, в том же MSDN не сказано (ткните меня носом дайте ссылку где это написано, если я просмотрел), что он обрабатывает только исключения, устанавливающие код ответа сервера в 500.

Посмотрев на исходный код HandleErrorAttribute легко убедиться в этом. Там имеются следующие строки:

// If this is not an HTTP 500 (for example, if somebody throws an HTTP 404 from an action method),
// ignore it.
if (new HttpException(null, exception).GetHttpCode() != 500) {
    return;
}

Не знаю, как вам, а мне удобнее при возникновении исключения, чтобы пользователи видели специальную страницу для этого, а не «жёлтую страницу смерти» или вообще как браузер отображает стандартную для него страницу с кодом ответа сервера (зависит от настроек в Web.config, но об этом позже).

Читать дальше →
Всего голосов 19: ↑12 и ↓7+5
Комментарии3

Ближайшие события

PG Bootcamp 2024
Дата16 апреля
Время09:30 – 21:00
Место
МинскОнлайн
EvaConf 2024
Дата16 апреля
Время11:00 – 16:00
Место
МоскваОнлайн
Weekend Offer в AliExpress
Дата20 – 21 апреля
Время10:00 – 20:00
Место
Онлайн

Вышла новая версия opensource движка nopCommerce с поддержкой мобильных устройств

Время на прочтение1 мин
Количество просмотров2.1K
clip_image001 
Первого февраля вышла новая версия nopCommerce 2.40 – движка для электронной коммерции с открытым кодом, написанного на ASP.NET MVC 3. Основным нововведением является поддержка мобильных устройств. Примечательно то, что nopCommerce является первой системой, которая добавила эту поддержку абсолютно бесплатно (у magento и prestashop это функционал платный). Тоже самое можно сказать и про существующие open source приложения ASP.NET (имеются ввиду real-world, а не тестовые примеры). По-умолчанию, это функция отключена (не всем владельцам магазинов она нужна, да поддержка была только-только добавлена, так что не исключены какие-то баги).

Читать дальше →
Всего голосов 24: ↑18 и ↓6+12
Комментарии3

Динамическая проверка прав доступа для ASP.NET MVC

Время на прочтение3 мин
Количество просмотров13K
В ASP.NET MVC есть встроенная возможность ограничить доступ к тем или иным контроллерам и их действиям. Эта возможность предоставляется атрибутом AuthorizeAttribute, но возможностей и гибкости ему явно не хватает (точнее их практически нет). Права можно определить только на этапе разработки и без повторной компиляции никак не изменить. А ведь создать собственный атрибут, обладающий необходимым функционалом совсем не сложно.
Читать дальше →
Всего голосов 25: ↑19 и ↓6+13
Комментарии21

Жизненный цикл Request в MVC 3 Framework приложении

Время на прочтение7 мин
Количество просмотров8.5K
Любой разработчик знает, что URL в маршрутизации MVC играет ключевую роль. Как известно, существует стандартная маршрутизация:

routes.MapRoute(
                "Default",
                "{controller}/{action}/{id}",
                new { controller = "Home", action = "Index", id = UrlParameter.Optional );


Она представляет собой правило по которым выбираются маршруты. В простейших случаях, можно поменять местами action и controller, или добавить еще множество параметров, которые будут выглядеть в url следующим образом- param1/param2/param3/. Иногда, например в CMS системах, необходимо сделать так, чтоб часть url приходила как переменная.

routes.MapRoute(
                "Default",
                "{controller}/{action}/{*url}",
               new { controller = "Content", action = "Home", url = UrlParameter.Optional
});


Это правило выделяет Action и Controller, а остальную часть присваивает переменной url.
Регистрируются Routes при старте приложения. А именно в файле Global.asax в методе Application_Start().

Для создания большинства приложений этих знаний хватает. Цель же моей статьи пройти весь жизненный цикл Request и посмотреть, что же происходит, перед тем как приложение разберет url и передаст управление нужному action.

Читать дальше →
Всего голосов 13: ↑8 и ↓5+3
Комментарии14

ASP.NET Push notifications с помощью SignalR

Время на прочтение2 мин
Количество просмотров25K
В качестве примера будем писать примитивный чат с мгновенным уведомлением всех клиентов с помощъю библиотеки SignalR
Читать дальше →
Всего голосов 25: ↑21 и ↓4+17
Комментарии8

Создание собственного элемента управления CheckBoxList

Время на прочтение13 мин
Количество просмотров8.7K

Предисловие


В данной статье будет рассмотрена возможность создания собственного элемента управления и его использования в рамках нового проекта на ASP .NET MVC 3.0. Все написанное ниже является точкой зрения автора и может не совпадать с распространенными или общепризнанными методами создания контролов, поэтому критика и комментарии приветствуются.

Введение


Вероятно, многие пользователи, которые ранее работали в своих проектах с WinForms или ASP .NET WebForms, замечали, что Html хелперы в проекте ASP .NET MVC не предоставляют возможность создания такого элемента управления, как CheckBoxList, который мог бы быть полезен в сложных формах фильтров данных или при множественном выборе не структурированных данных, будь то в профиле о пользователе или при добавлении нового топика на хабрахабр. Конечно, никто не запрещает использовать одиночный CheckBox или CheckBoxFor, но будет ли работа с такой группой чекбоксов удобной, а код легко расширяемым, понятным сопровождающему и защищенным от дублирования,- это далеко не последние вопросы для программиста, который планирует использовать свои наработки в будущих проектах. А если принять во внимание, что мы можем добавить к нашему элементу управления некоторые полезные опции для его визуального отображения, то необходимость его создания становится все более и более очевидной.
Читать дальше →
Всего голосов 35: ↑28 и ↓7+21
Комментарии10

Расширение функционала тегов Page/MasterPage/UserControl в ASP.NET MVC

Время на прочтение8 мин
Количество просмотров3.3K
Недавно начал переводить старый самописный движок с PHP на ASP.NET и столкнулся с несколькими моментами, связанными с шаблонами Smarty и возможностями представлений ASP.NET MVC. Сразу оговорюсь, что подход можно применять и для веб-проектов, но там, возможно, потребуется допилка. Итак.

Во-первых, с самого начала возникла необходимость из шаблона обращаться к методам основного объекта веб-приложения (назовем его Main) — например, конфигурация, менеджер тем, к методам вызывающего контроллера и так далее. Стандартный класс System.Web.Mvc.ViewPage не предоставляет удобного функционала для этого. Конечно, можно добраться до свойства ViewContext.Controller, сделать приведение типа и работать в шаблоне с кодом вида <%=((IndexController)ViewContext.Controller).CurrentTheme.Name%>, но тут возникает вопрос читабельности кода и удобства его написания вообще. Я пошел по пути расширения функционала System.Web.Mvc.ViewPage (а заодно System.Web.Mvc.MasterPage и System.Web.Mvc.UserControl) и добавления в него свойства ControlHelper, которое возвращает объект-помощник, делающий доступными необходимые возможности.

Во-вторых, возникла необходимость в представлениях не задавать прямой путь MasterPageFile, а размечать его дополнительными тегами а-ля «CurrentTheme.SiteMaster», «UserTheme.SiteMaster» и т.п. К сожалению, при записи подобной строки в атрибут MasterPageFile директивы Page я получал ошибку синтаксического анализатора, ругавшегося на отсутствие файла "~/Views/{CurrentTheme.SiteMaster}". Единственное найденное решение — создание своего атрибута для директивы Page, например MasterPagePath:
<%@ Page Language="C#" MasterPagePath="{CurrentTheme.SiteMaster}" Inherits="..." %>


Читать дальше →
Всего голосов 27: ↑21 и ↓6+15
Комментарии76

ASP .NET MVC 3. Ajax.ActionLink в виде картинки на примере добавления в избранное звездочкой на habrahabr.ru

Время на прочтение8 мин
Количество просмотров17K
Данная статья посвящается созданию ссылки картинкой с использованием хелпер метода Ajax.ActionLink, а точнее Extension методу Ajax.ActionImageLink, который мы и будем создавать.
Читать дальше →
Всего голосов 30: ↑28 и ↓2+26
Комментарии8
Изменить настройки темы

Вклад авторов