Skip to Content

Новые стандартные механизмы .NET. Часть 2. Конфигурация

Вводная

Это небольшая серия статей про новые стандартные механизмы в .NET. Вместе с выпуском .NET Standard Microsoft выпустили большое количество обвязок, которые должны привести в порядок некоторый зоопарк используемых технологий.

В первой статье (IoC-контейнер) мы поговорили про то, почему это круто — иметь реализацию DI-контейнера по умолчанию, и почему в большинстве случаев стоит использовать именно его. Также написали простую реализацию биндинга по атрибутам.

В этой — второй — я расскажу про недостатки старого способа конфигурирования приложения (через app.config/web.config) и про то, как они исправлены в новом подходе.

В третьей (Логирование) посмотрим на стандартный интерфейс логирования и прикрутим к нему привычный NLog.

Далее следует план статей по очереди их публикации. Все статьи доступны в нашем блоге.

План

  1. IoC-контейнер.
  2. Конфигурация.
  3. Логирование.

Текущая статья посвящена второй теме плана — Конфигурация.

Читать далее

Генерация паролей для ASP.NET Membership

Для аутентификации пользователей и хранения пользовательских данных на проектах .NET часто используется технология ASP.NET Membership. Наконец, дошли руки до написания утилиты для хэширования паролей.

На данный момент утилита может хэшировать только по алгоритму HMAC SHA256 (этот алгоритм используется в SimpleMembershipProvider). В планах SqlMembershipProvider.

Скачать установщик можно с Sourceforge.
Репозиторий проекта на Github.

Наблюдение за базами данных MS SQL Server в приложениях .NET

В этой статье описан способ слежения за изменениями, происходящими в БД под управлением MS SQL Server, в приложениях .NET.

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

Один из вариантов решения задачи слежения за изменениями в таблицах БД — это использование механизма Service Broker в MS SQL Server совместно с объектом SqlDependency из фреймворка .NET.

Читать далее

Преобразование чисел к прописной форме

Введение

При разработке различных приложений, особенно связанных с бухгалтерскими и экономическими задачами, довольно часто возникает задача представления числа в форме прописи. Например, число «255» прописью будет выглядеть как «Двести пятьдесят пять».

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

Хотелось бы иметь библиотеку для .NET, в которой были бы реализованы данные функции, и подключать ее при необходимости в различных проектах.

Читать далее

Аутентификация по логину-паролю и сертификату в WCF при использовании Message Security

В этой статье описано как создать WCF-сервис, который реализует два вида аутентификации клиентов: по логину-паролю и по сертификату при использовании Message Security. Причём оба вида реализуют собственную логику аутентификации.

Читать далее

Ешь. Молись. Строй запросы.

Вступление

В какой-то момент каждый человек на планете сталкивается с одной серьезной проблемой. Это — лень и нежелание тратить время на написание sql-запросов вручную.

Итак, способы решения:

  1. ORM: плюсы и минусы такого подхода очевидны: очень быстрая разработка но отсутствие контроля кода получившихся запросов и, в большинстве, медленная скорость работы.
  2. Собственно, писать запросы руками: медленно и непереносимо. Из плюсов — полный контроль кода.
  3. Собственный строитель запросов, зависящий от входных параметров. Например, требуется сортировка одной и той же сущности по дате создания и дате изменения. Придется писать логику построения строки руками, что также не очень хорошо. В плане переносимости — лучше, чем писать запросы руками, но, все же, недостаточно хорошо.
  4. Использовать какой-либо из существующих билдеров. Об этом и поговорим

Статья, собственно, о моей разработке TsSoft.Dapper.QueryBuilder. Как можно понять из названия — это строитель запросов для microORM Dapper.

Читать далее

Обучение в ТиЭс Софт: Интенсив

В ТиЭс Софт Вы можете пройти интенсив, на котором вы можете обучиться практике разработки на платформе .Net или front-end технологиях под началом опытного руководителя с последующим трудоустройством в компанию. Здесь мы приводим ответы на наиболее часто встречающиеся вопросы об обучении в нашей компании.

Читать далее