Немного размышлений по поводу .NET Core

.NET Core появился уже достаточно давно, претерпел ряд изменений и даже обзавелся второй версией.

С появлением .NET Core в архитектуре .NET появилось понятие .NET Standard — представляет спецификацию интерфейсов, которые должны реализовывать все версии .NET, что дает возможность разработчикам создавать переносимые библиотеки, которые возможно использовать в разных реализациях .NET благодаря общему набору интерфейсов.

.NET Standard

Разные реализации .NET реализуют определенные версии .NET Standard.

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

C# .NET - Получение информации по пользователю в домене

В данной публикации приведен пример получения информации по пользователю в домене AD с использованием C#.

Для того чтобы всё заработало необходимо подключить библиотеку:
using System.DirectoryServices.AccountManagement;


Затем можно получать параметры по пользователю.

            PrincipalContext ctx = new PrincipalContext(ContextType.Domain);

            var loginName = HttpContext.User.Identity.Name.ToString();

            UserPrincipal user = UserPrincipal.FindByIdentity(ctx, loginName);

            if (user != null)
            {
                // Получаем SID пользователя
                var userSid = user.Sid;

                // Получаем EMail пользователя
                var userEmail = user.EmailAddress;

                // Получаем Количество неудачных попыток входа пользователя
                var userBadLogons = user.BadLogonCount;

                // ФИО пользователя ( отображаемое имя)
                var userName = user.DisplayName;

                // Системное имя (по сути логин)
                var userSamAccountName = user.SamAccountName;

                var userFullName = String.Format("{0} {1} {2}", userName, userSamAccountName, userBadLogons);
                ViewBag.Message = userFullName;
            }


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

Распознавание автомобильного номера с изображения на C# (.NET)

Распознавание номера .NETДовелось мне не так давно помогать с запуском одного проекта под .NET на WCF — под x64 систему, проект нормально работал на x86 но отказывался работать на x64. В целом как я и ожидал проблема решалась довольно просто, помимо основной проблемы всплыло ещё несколько, в процессе решения которых пришлось познакомиться с очень интересной библиотекой Emgu CV, которая позволяет делать множество замечательных вещей, среди которых распознавание номера на изображении.

Благодаря этой библиотеке можно очень легко и просто внедрить распознавание номера в свою программу. Вот я и решил поделиться новым знанием, вдруг кому-то захочется что-то эдакое реализовать. Например мне сразу пришла в голову идея автоматически открывающегося шлагбаума, без всяких брелков. :) Качество распознавания, скажем — так себе, хотя возможно я просто не достаточно разобрался в возможностях, и всё делал как по умолчанию в примерах, но тем не менее поиграться стоит — вещь интересная.

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

Итак, приступим…

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