Библиотечный код полезно выносить в отдельный проект, для его повторного использования. Чтоб не перегружать потребителя данного кода информацией о многочисленных классах, в качестве хорошей практики, принято использовать паттерн Фасад. Предлагается […]
Google reCaptcha
Инструкция по встраиванию Google Recaptcha. Поскольку веб-сайты находятся в публичном доступе – они часто становятся жертвами атак. Одна из самых распространенных, ввиду своей простоты, атаки – является замусоривание базы […]
Как принять и точку, и запятую в качестве разделителя дробной части
Создадим привязки к модели, то есть реализуем интерфейс IModelBinder, чтобы позволить использование и точки, и запятой в качестве разделителя: public class DecimalModelBinder : IModelBinder { public object BindModel(ControllerContext controllerContext, ModelBindingContext […]
Профилирование приложений
В Microsoft Visual Studio есть встроенный Profiler, который позволяет определить функцию, занимающую большую часть ресурсов. Использовать следующим образом: В основном меню Debug -> Perfomance and diagnostic Выбрать, использование какого ресурса […]
Использование профайлера памяти
Профайлер – это программа, которая может работать в двух режимах: Поиск функций, выполнение которых занимает большое количество времени Поиск функций, создающей большие объекты или большое количество объектов, занимающих большой объем […]
Получить значения route из URL
Иногда возникает потребность получить route-параметры для строки URL. Для этого необходимо создать экземпляр RouteData из URL. RouteInfo Class: public class RouteInfo { public RouteData RouteData { get; private set; } […]
Обработка исключения для Html.AntiForgeryToken()
Если для страницы авторизации используется хелпер Html.AntiForgeryToken(), то существует вероятность получить исключение в случае, когда пользователь войдет в систему через другую вкладку. Чтобы не лишать пользователя уверенности в стабильной работе […]
Двухфакторная аутентификация при помощи Google AUTHENTICATOR
Во-первых, необходимо установить open source package под названием OTP Sharp для валидации TOTP кода. Далее следует создать метод для вывода QR-кода на страницу: [HttpGet] public async Task EnableGoogleAuthenticator() { byte[] […]
Тормозит Visual Studio? Как ускорить Visual Studio
В этой статье мы рассмотрим основные решения как можно ускорить Visual Studio. Надеемся, что ваша среда разработки будет меньше тормозить после принятия нижеуказанных мер. Важно: применяйте эти способы оптимизации Visual […]
Увеличить количество позиций для MiniProfiler
Если Miniprofiler “съедает” нужные данные, то можно выставить настройку, увеличивающую количество позиций: StackExchange.Profiling.MiniProfiler.Settings.PopupMaxTracesToShow = 30;