Архив за 12 января 2015 - 13

Мотивация

Для desktop-мира wcf остаётся самым распространенным способом организации клиент-серверного взаимодействия в .net как для локальных, так и для глобальных сетей. Он гибок в настройке, прост в использовании и прозрачен.
По крайней мере, так должно быть. На практике добавление нового сервиса — это рутина. Нужно не забыть прописать конфигурацию на сервере, сделать то же самое на клиенте, нужно написать или сгенерировать proxy-класс. Поддерживать конфиги неудобно. Если сервис изменился, то нужно вносить изменения в proxy-класс. А ещё не забыть про регистрации в IoC-контейнере. И добавление новых хостов для новых сервисов. И еще хочется простой асинхронности. По отдельности всё просто, но даже для статьи я дописывал этот список уже трижды, и не уверен, что не упустил чего-нибудь.
Время автоматизировать. Простейший сценарий от создания решения до вызова wcf-сервиса выглядит так:

  1. Install-Package Rikrop.Core.Wcf.Unity
  2. Пишем ServiceContract и их реализации
  3. На сервере и клиенте добавляем одну строку регистрации в IoC (конфиги править не надо)
  4. Поднимаем хосты с двух строк
    var assembly = Assembly.GetExecutingAssembly();
    _serviceHostManager.StartServices(assembly);
    
  5. На клиенте резолвим IServiceExecutor<TService>. Эта обёртка служит для вызова методов сервиса и скрывает работу с каналом.
  6. Можно пользоваться
    var articles = await _myServiceExecutor.Execute(service => service.GetArticles());
    

Читать полностью »

Компания Sound Research, усилители Reality Amplifier которой используется в цифровых громкоговорителях DSM, объявила о сотрудничестве с компанией Realtek Semiconductor. Имя компании Realtek ассоциируется с широким кругом интегральных микросхем, включая контроллеры Ethernet 10/100/1000 Мбит/с, маршрутизаторы беспроводных сетей, цифровые сигнальные процессоры, а также звуковые решения.

Читать полностью »

Предыстория

Друг писал свой личный блог и попросил посмотреть. Помимо кучи дыр я обнаружил в исходном html следующую конструкцию:

<img src="<? echo '/img/'.$image[1].'jpg';?>">

$image-выборка аватарок из базы данных. Пользователи могли загружать свои фотки на аватар. Фотографии сохранялись в папку img с своим же именем.

И тут мне пришла в голову идея.
Читать полностью »

asds_21-100

Автоматическая баржа Drone Ship Marmac 300 прибывает в порт. В субботу на нее производилась посадка первой ступени ракеты Falcon-9 частной космической компании SpaceX. Ракета успешно вывела грузовой космический корабль Dragon, который в понедельник должен состыковаться с Международной космической станцией. Но посадка первой ступени оказалась жесткой.
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js