Все потоки
Поиск
Написать публикацию
Обновить
0

ASP *

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

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

Модификация ajax js для ajax Asp .net mvc

Время на прочтение4 мин
Количество просмотров6.3K
Многие начинающие программисты C# ASP .NET MVC (далее mvc) сталкиваются с задачей отправки данных с помощью Ajax. Вот только на практике эта задача оказывается не такой легкой.

На своей работе я пытаюсь придерживаться определённых принципов разработки программного обеспечения. Одним из них является минимизация написания кода и создание универсальный классов и функций. Именно этот принцип предполагал использование jquery.unobtrusive-ajax.js и класс Ajax для mvc.
Читать дальше →

Различия между компиляцией веб-сайта и веб-приложения

Время на прочтение6 мин
Количество просмотров7.7K
Существует множество разновидностей модулей ASP.NET на основе различных платформ, таких как Web Forms, Web Pages, Model-View-Controller (MVC) и самой новой — Core. В этой статье я хочу рассмотреть ряд различий между компиляцией веб-сайта ASP.NET и веб-приложения ASP.NET.

Читать дальше →

Что можно найти в чужом коде? Подборка полезных материалов по .NET

Время на прочтение5 мин
Количество просмотров13K
Привет, Хабр! Наш коллега, Скотт Хансельман, считает, что в рамках изучения языка программирования важно не только кодить и практиковаться в написании, но и изучать чужой код. «Читайте чужой код» говорит Скотт и приводит полезные материалы, которые он нашел в наработках своего коллеги. Подробнее под катом!

Читать дальше →

.NET Core + Docker на Raspberry Pi. А это законно?

Время на прочтение8 мин
Количество просмотров26K
Открытая платформа .NET Core работает практически на всем: Windows, Mac и десятке Linux-систем. Но еще есть SDK и Runtime. Раньше .NET Core SDK не поддерживался на чипах ARMv7/ARMv8, на которых работает Raspberry Pi. Но все изменилось. Подробнее о способах запуска под катом!

Читать дальше →

9 секретов ASP.NET Core

Время на прочтение5 мин
Количество просмотров38K
Совсем недавно мы обновили ASP.NET Core до версии 2.1. Один из создателей платформы, наш коллега Дэвид Фоулер поделился некоторыми её полезными особенностями, о которых мало кто знает. Кроме того, помимо 9 секретных фич ASP.NET Core, под катом вы найдете и список основных нововведений со всеми полезными ссылками. Присоединяйтесь!

Читать дальше →

ASP.NET Razor: решение некоторых проблем с архитектурой для модели представления

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

image


Введение


Здравствуйте, коллеги!
Сегодня хочу поделиться с вами своим опытом разработки архитектуры View Model в рамках разработки веб-приложений на платформе ASP.NET, используя шаблонизатор Razor.
Описываемые в данной статье технические реализации подходят для всех актуальных на текущей момент версий ASP. NET (MVC 5, Core, etc). Сама статья предназначена для читателей, которые, по меньшей мере, уже имели опыт работы под данным стеком. Также стоит отметить, что в рамках данной мы не рассматриваем саму пользу View Model и её гипотетическое применение (предполагается, что читатель уже знаком с данными вещами), обсуждаем непосредственно реализацию.


Задача


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

Читать дальше →

Можно ли «хакнуть» ASP инфраструктуру?

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


Как говорят специалисты по информационной безопасности «Ломают всё, всех и всегда». При этом, атаки на ASP.NET — вещь достаточно редкая. Поэтому всегда крайне любопытно узнавать про это что-то новое. Под катом рассказ специалиста отдела информационной безопасности Rambler Group Алексея Морозова о сильных и слабых сторонах данной технологии.

Поддержка документации в ASP.NET Web API

Время на прочтение7 мин
Количество просмотров4.5K
Когда вы предоставляете ваш сервис в виде Web API, встает вопрос о том, как проинформировать пользователя о его возможностях, о синтаксисе его запросов и т.п. Обычно вам приходится создавать отдельные Web-страницы, где вы расскрываете эти темы. Но не было бы лучше, если бы сам ваш Web API обеспечивал доступ к своей документации?
Читать дальше →

Строгая типизация для приложений Vue.js на TypeScript

Время на прочтение16 мин
Количество просмотров30K
Вопрос: Каковы самые слабые места Vue?

Oтвет: На данный момент, наверное, недружественность к типизации. Наш API разрабатывался без планирования поддержки типизированных языков (типа TypeScript), но мы сделали большие улучшения в 2.5.

Вопрос: Тони Хор (Tony Hoare) назвал null ошибкой на миллиард долларов. Какое было самое неудачное техническое решение в твоей карьере?

Oтвет: Было бы неплохо использовать TypeScript изначально, еще когда я начал переписывать код для Vue 2.x.

из интервью "Создатель Vue.js отвечает Хабру"

Недружественность Vue.js к типизации вынуждает применять "костыли", чтобы использовать преимущества TypeScript. Один из предлагаемых в официальной документации Vue.js вариантов — это применение декораторов вместе с библиотекой "vue-class-component".


Я применяю другой вариант "костылей" для решения проблемы строгой типизации в приложениях Vue.js (без декораторов и vue-class-component). Через явное определение интерфейсов для опций "data" и "props", используемых в конструкторе экземпляров Vue-компоненты. В ряде случаев это проще и удобнее.


В данном tutorial, для иллюстрации обоих подходов к типизации (с декораторами и без) используется решение Visual Studio 2017 с приложениями Vue.js + Asp.Net Core MVC + TypeScript. Хотя приведенные здесь примеры можно поместить и в другое окружение (Node.js + Webpack).


Попутно демонстрируется, как компоненту на JavaScript быстро переделать под «полноценный» TypeScript с включенной строгой типизацией.

Читать дальше →

Защита ASP.NET приложений от взлома

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

ASP.NET MVC — не самый хайповый, но довольно популярный стек в среде веб-разработчиков. С точки зрения (анти)хакера, его стандартная функциональность дает тебе кое-какой базовый уровень безопасности, но для предохранения от абсолютного большинства хакерских трюков нужна дополнительная защита. В этой статье мы рассмотрим основы, которые должен знать о безопасности ASP.NET-разработчик (будь то Core, MVC, MVC Razor или Web Forms).


Читать дальше →

Vue.js + Asp.Net Core MVC + TypeScript и ещё Bootstrap4

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

image


По стандартному шаблону Asp.Net Core MVC в Visual Studio 2017 создаем новый проект, переводим его на четвертый Bootsrtrap, встраиваем туда модульное приложение Vue.js на TypeScript.


Получаем простую, обозримую и легкую заготовку для создания своих веб-приложений на VS2017 с использованием Vue.js и TypeScript. Привычная среда разработки, в которой можно выполнять большую часть кодинга и отладки, а также быстрая пересборка приложения, делают работу вполне комфортной.


В генерации JavaScript-кода приложения принимает участие только штатный компилятор TypeScript и VS2017, что сильно сужает круг подозреваемых при возникновении глюков. А это, в свою очередь, — тоже большая экономия времени и нервов.


Материал рассчитан на способных управиться с VS2017 и знакомых с прогрессивным JavaScript фреймворком Vue.js.

Читать дальше →

ASP.NET Core: Механизмы предотвращения атак 2.0

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

По встроенным механизмам безопасности ASP .NET Core написано мало статей. Даже официальная документация имеет пробелы. В этой статье мы пройдём по всем основным компонентам, имеющим отношение к безопасности, и разберём, как это работает внутри.


Если вы используете старый добрый ASP .NET, то для вас будет полезна информация по внутреннему устройству компонентов безопасности и лучшим практикам их использования. Здесь вы найдёте ответы на следующие вопросы: как реализованы современные анти-XSS механизмы и как их правильно использовать в ASP .NET Core? Как правильно работать с cookies и какие подводные камни там могут встретиться? Как был переписан механизм защиты от CSRF? Как правильно работать с криптографическими алгоритмами? Кроме того, рассказывается про опыт участия в Bug Bounty по поиску уязвимостей в ASP .NET Core.


Перед чтением рекомендуется освежить в памяти атаки из списка OWASP Top 10.


Прототипом статьи является доклад Михаила Щербакова на конференции DotNext 2017 Moscow. Михаил — Microsoft .NET MVP, участник .NET Core Bug Bounty Program, соорганизатор сообщества .NET программистов (Московское комьюнити называется MskDotNet, питерское — SpbDotNet). По работе последние 5 лет занимается безопасностью. Работал в Positive Technologies, в Cezurity, сейчас как консультант работает напрямую с заказчиками, по большей части в этой же сфере. Профессиональные интересы: статический и динамический анализ кода, информационная безопасность, автоматизация отладки кода, исследование внутреннего устройства .NET CLR.


В этом тексте огромное количество картинок со слайдов. Осторожно, трафик!

Читать дальше →

RequireJS для приложений Vue.js + Asp.NETCore + TypeScript

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

logos


Создаем на Visual Studio 2017 модульное приложение Vue.js + Asp.NETCore + TypeScript. В качестве системы сборки вместо Webpack используем компилятор TypeScript + Bundler&Minifier (расширение к VS2017). Загрузку модулей приложения в рантайм обеспечивает SystemJS или RequireJS. Рассматриваем формат модулей AMD (asynchronous module definition), который понимает не только SystemJS, но и RequireJS.


Предупреждаю сразу — Vue.js не совсем поддерживает AMD или содержит баг, поэтому применен почти хакерский прием, он не всем подойдет. Но надеюсь, данная статья позволит вам лучше понимать, как устроен этот мир Vue.js.


Данная статья является дополнением к tutorial: Приложение Vue.js + Asp.NETCore + TypeScript без Webpack. Где в примерах использовался формат модулей SYSTEM. Делать ставку только на загрузчик SystemJS, как то, боязно. На момент написания статьи SystemJS имеет релиз 0.20, что означает вероятнось радикальных изменений в API, опциях и т.д.


Цель применения формата модулей AMD и загрузчика RequireJS – страховка от радикальных изменений в SystemJS, обеспечение возможности использования более популярного загрузчика RequireJS и формата модулей AMD.


Материал рассчитан на способных управиться с VS2017 и знакомых с прогрессивным JavaScript фрэймворком Vue.js.

Читать дальше →

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

Как использовать сжатие ответа в ASP.Net Core

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

Воспользуйтесь преимуществами компонента промежуточной обработки для сжатия ответов (Response Compression Middleware) в ASP.Net Core, чтобы снизить требования к пропускной способности и повысить оперативность ваших приложений.
Читать дальше →

Приложение Vue.js + Asp.NETCore + TypeScript без Webpack

Время на прочтение12 мин
Количество просмотров20K
логотипы

Создаем на Visual Studio 2017 модульное приложение Vue.js + Asp.NETCore + TypeScript без использования Webpack или Broserify. Причем сначала делаем проект с использованием Webpack, а потом без него. Чтобы прочувствовать, от какого счастья мы отказываемся.

Материал рассчитан на способных управиться с VS2017 и знакомых с прогрессивным JavaScript фрэймворком Vue.js.

Цель замены системы сборки – снижение стартового барьера для освоения Vue.js за счет уменьшения количества применяемых инструментов при создании современных веб-приложений.

Кроме того, существенно упрощается процесс отладки приложений, сильно сокращается время на пересборку приложения, а для части сценариев работы — пересборка не требуется совсем.
Читать дальше →

Краткое руководство: связываем ASP.NET Core Web API + Angular 5

Время на прочтение8 мин
Количество просмотров47K
История о том, как подружить два отдельных проекта ASP.NET Core Web API и Angular 5, и заставить их работать, как одно целое.
Читать дальше →

Прямой SQL в EntityFramework. Теперь со строгой типизацией

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

Привет!


Сегодня мы немного поговорим про EntityFramework. Совсем чуть-чуть. Да, я знаю что к нему можно относиться по-разному, многие от него плюются, но за неимением лучшей альтернативы — продолжают использовать.


Так вот. Часто ли вы используете в своём C#-проекте с настроенным ORM-ом прямые SQL-запросы в базу? Ой, да бросьте, не отнекивайтесь. Используете. Иначе как бы вы реализовывали удаление/обновление сущностей пачками и оставались живы


Что мы больше всего любим в прямом SQL? Скорость и простоту. Там, где "в лучших традициях ORM" надо выгрузить в память вагончик объектов и всем сделать context.Remove (ну или поманипулировать Attach-ем), можнo обойтись одним мааааленьким SQL-запросом.
Что мы больше всего не любим в прямом SQL? Правильно. Отсутствие типизации и взрывоопасность. Прямой SQL обычно делается через DbContext.Database.ExecuteSqlCommand, а оно на вход принимает только строку. Следовательно, Find Usages в студии никогда не покажет вам какие поля каких сущностей ваш прямой SQL затронул, ну и помимо прочего вам приходится полагаться на свою память в вопросе точных имён всех таблиц/колонок которые вы щупаете. А ещё молиться, что никакой лоботряс не покопается в вашей модели и не переименует всё в ходе рефакторинга или средствами EntityFramework, пока вы будете спать.


Так ликуйте же, адепты маленьких raw SQL-запросов! В этой статье я покажу вам как совместить их с EF, не потерять в майнтайнабильности и не наплодить детонаторов. Ныряйте же под кат скорее!

Читать дальше →

Немного про .NET Framework и .NET Core [плюс полезные ссылки]

Время на прочтение3 мин
Количество просмотров70K
Привет, Хабр! Версия ASP.NET Core основана на проектной модели .NET Core, которая поддерживает создание кросс-платформенных приложений в ОС Windows, Mac и Linux. При реализации проекта .NET Core вы также можете выбрать вариант .NET для своего приложения: .NET Framework (CLR), .NET Core (CoreCLR) или Mono. Какой вариант .NET подойдет вам? Кратко рассмотрим плюсы и минусы каждого и поделимся классными курсами по платформам.


Читать дальше →

Внедрение зависимости и реализация единицы работы с помощью Castle Windsor и NHibernate

Время на прочтение15 мин
Количество просмотров5.1K
В этой статье я продемонстрирую реализацию внедрения зависимости, репозитория и единицы работы, используя Castle Windsor в качестве DI-контейнера и NHibernate как инструмент объектно-реляционного отображения (ORM).


Читать дальше →

Открытый веб-интерфейс для .NET (OWIN)

Время на прочтение6 мин
Количество просмотров15K
Привет, Хабр! ASP.NET Core поддерживает открытый веб-интерфейс для .NET (OWIN), а OWIN позволяет отвязывать веб-приложения от веб-серверов. Он определяет стандартный способ использования связующего ПО при обработке запросов и соответствующих ответов. Приложения ASP.NET Core и связующее ПО совместимы с приложениями, серверами и связующим ПО на базе OWIN. Подробнее об этой паре читайте под катом.


Читать дальше →