Рубрика «wcf» - 2

Где формируем модель для UI при Domain Driven Design? Сравнение производительности различных архитектурных решений - 1

Рассмотрим с точки зрения производительности варианты размещения логики по заполнению модели для трёх-уровневой и четырёх-уровневой архитектур при использовании различных технологий взаимодействия между уровнями на стеке .NET (Web API, Web API OData, WCF net.tcp, WCF Data Services).

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

Мотивация

Для 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());
    

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

WCF — реально мощная штука, но раз за разом для новых проектов мы вынуждены создавать новые, похожие друг на друга веб-сервисы. В этой статье (переводе) мы увидем, как создать повторно используемый веб-сервис с помощью Nelibur. Nelibur — это Message based web service framework на чистом WCF. Давайте посмотрим, как начать создание web-сервисов на WCF с использованием Nelibur.
Читать полностью »

Яндекс.Директ работает некорректно по протоколу SOAP, так как фактическая схема данных, используемая в ответах на запросы не совпадает со схемой из предоставленного сервисом описания WSDL. А именно не совпадает пространство имен (вместо «API» приходит «namespaces.soaplite.com/perl» и «xml.apache.org/xml-soap»), а также имена параметров (например, в методе GetRegions вместо имени «return» приходит «ArrayOfRegionInfo»).
Читать полностью »

Решение транспортной задачи при помощи генетического алгоритма как часть SOA

Приветствую уважаемое читатели!

В данной статье я хотел бы рассказать о том как я решал транспортную задачу при помощи генетического алгоритма.

Формулировка задачи

Википедия формулирует задачу следующим образом — задача об оптимальном плане перевозок однородного продукта из однородных пунктов наличия в однородные пункты потребления на однородных транспортных средствах (предопределённом количестве) со статичными данными и линеарном подходе.

Например – необходимо спланировать доставку бутылей воды по городу, известны потребности каждого заказчика, грузоподъёмность транспортных средств и расстояния между точками.

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

Привет! Это наш первый материал на Хабре. В нем мы собираемся рассказать о нашем опыте миграции сложного портала с применением метода Database Attach. Enjoy!

Немного о том, кому, скорее всего, будет интересно это читать

Решив поделиться своим опытом миграции одного портала, мы ориентировались, прежде всего, на тех, кто не спрашивает «Зачем мигрировать?», не задается вопросом «А может быть сразу на 2013?», а также на тех, кто знает не понаслышке ужасные слова Windows Workflow Foundation, Event Handlers, Jobs, Content Types, Future Receivers, различный Site, List и т.п. термины и думает, как сделать, чтобы это заработало в SharePoint 2010.

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

В процессе реализации одной игры для Windows RT потребовалось сделать мультиплеер на 2 игрока. При этом необходима была поддержка кроссплатформенной игры между WinRT и Windows phone 7.5. Сервисов предоставляющих такую возможность обнаружено не было, поэтому я решил написать свой простой сервер, который бы просто пересылал сообщения от одного клиента другому в реальном времени. Так как у меня есть только аккаунт Azure, реализацию было решено делать под него. При этом Azure обеспечивает легкое масштабирование, отличную консоль управления (новый интерфейс) и много сервисов облегчающих разработку. Ну и главная для меня особенность разработки под Azure: возможность разработки на C# и Visual Studio 2012.

Под катом описание разработки и разворачивания сервера в облаке.
Читать полностью »

(Нет, на самом деле я в это не верю, но ведь неплохой заголовок получился, не так ли? DataSet’ы имеют право на существование, но только не в качестве внешних бизнес-объектов или контрактов Web-сервисов).
Читать полностью »

Введение в Windows Server AppFabric. Hosting Services вместе с BizTalk и Service Bus
Это третья и заключительная часть статей на тему сервисов Windows Server AppFabric. Вы можете найти две другие статьи по следующим ссылкам:

Сценарий: подключение сервиса на базе рабочих потоков к существующему приложению с помощью BizTalk Server

Множество приложений, может быть большинство, имеют потребность в общении с другими приложениями. Например, представьте снова сервис, который был создан для сайта магазина. Допустим, сервис должен отправить законченный заказ в приложение ERP для обработки или может быть ему требуется получить информацию от другого приложения для верификации кредитной карты. Так или иначе, сервисы часто испытывают потребность в общении друг с другом.

В мире Microsoft интеграция такого типа обычно обрабатывается с помощью BizTalk Server. На рисунке 1 показано как сервис на базе рабочих потоков, AppFabric Hosting Services и BizTalk Server могут работать друг с другом.
Читать полностью »

Введение в Windows Server AppFabric. Сервис Hosting Services, хостинг и масштабирование сервисов WCF и WF
Получение данных в приложение через сервисы становится все более популярным. На Windows это чаще всего означает реализацию таких сервисов на базе Windows Communication Foundation (WCF). А в связи с тем, что логика таких сервисов очень часто может быть представлена в виде рабочих потоков, существует возможность реализовывать WCF-сервисы с помощью Windows Workflow Foundation (WF).

Но возникает вопрос, где все эти сервисы должны запускаться? Ни WCF ни WF не требуют наличие определенного хост-процесса, так что разработчики могут использовать их так как посчитают нужным. Однако, создание эффективного и управляемого хоста не такая простая задача. Было бы гораздо легче, если бы Windows Server предлагал больше поддержки для хостинга и управления этими сервисами.

И это именно то, что предлагает сервис AppFabric Hosting Services. Для того, чтобы лучше понимать эту часть Windows Server AppFabric было бы полезным сначала быстро пробежаться по базовым технологиям WCF и WF.
Читать полностью »


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