Denis Gladkikh
Russian   |  English

Выбранный тег: WCF

Проверяем наличие подписчиков у событий при помощи Reflection

Передо мной встала задача, нужно было бы собрать все события объекта и подписаться на них (подписать определенный метод), только в том случае, если на это событие не подписан кто-то еще. Я могу даже больше сказать, делал я это для классов-оберток, которые генерирует Visual Studio на Add Reference Service…. Используем мы их по стандартному, как и все, наверное. Используем в коде не сами классы-обертки, которые генерирует Visual Studio, а используем свои реализации, которые нам предоставляют возможность тестировать наши модели, подставляя Mock и Stub объекты вместо самих реализаций. Давайте лучше покажу на примере.

Заголовок для этой заметки достаточно сложно было придумать. Проверка наличия подписчиков – это все-таки малая сердцевина того, что я тут описываю, но я думаю это просто самая интересная часть. В целом, я тут описываю вариант обработки результатов от методов сервисов в Silverlight приложении.



Wrox–Professional WCF 4–Windows Communication Foundation with .NET 4

0470563141Пару недель назад мне в руки попала бумажная копия книги Pablo Cibraro, Kurt Claeys, Fabio Cozzolino, Johann Grabner - Professional WCF 4: Windows Communication Foundation with .NET 4. По объему данная книга получилась не очень большая – около 400 страниц, честно говоря, уже забыл, когда видел такие “тоненькие” книжки по технологиям. Книга по объему не большая, но охвачено там достаточно интересных тем.

Первая глава – это паттерны и принципы создания SOA-приложений. Это, конечно же, лучшая глава в данной книге, видно, что у авторов есть опыт создания приложений типа Service-oriented architecture. Авторы описали всевозможные архитектурные принципы, по которым можно создать SOA-приложения. Причем они не опирались только на WCF, а постарались описать все принципе вообще, которые можно реализовать при помощи WCF, и для которых WCF не совсем предназначен. В общем, эта глава must read для всех, независимо от того, какие технологии вы используете. И по счастливому случаю wrox предоставил данную главу для ознакомления с книгой в свободном доступе на своем сайте Design Principles and Patterns. Всего 30 страничек, не поленитесь прочитать.



Встраиваем MetaWeblog API на свой сайт

Пару недель назад мне попалась на глаза небольшая статья Feels like a new day – implementing the MetaWeblog API. В тот же момент у меня и родилась мысль, что нужно сделать поддержку MetaWeblog API, а следовательно и Windows Live Writer, у себя на сайте. В прошедшие выходные нашел немного свободного времени и начал исследование ссылок, которые были в статье. Обе ссылки, в которых были примеры реализации, основывались на XML-RPC.NET, мне же хотелось все реализовать на WCF сервисах. В пару кликов нашел статью XML-RPC with WCF (Updated), в которой был небольшой пример реализации на WCF сервисах и реализована библиотека, в которой был XML-RPC Behavior с самодельным сериализатором, поддерживающим XML-RPC. В общем, материал был найден и я приступил к реализации.



RESTful WCF Service - Узнаем версию браузера в методе сервиса

Сначала опишу задачу, которую мы решали в нашем проекте. У нас есть Silverlight клиентская часть и серверная часть, состоящая из набора WCF сервисов. Причем задумка у нас такая, что изначально мы разрабатываем эти сервисы с возможностью хостинга их вне веб-сервера, потому ASP.NET Compatible mode у нас отключен (зачем я так и не понял, ведь реально инсталлируем всегда на веб-сервер, ну усложнили себе жизнь - пускай). Следовательно, до значения HttpContext.Current нам никак не добраться из методов WCF сервисов. Один из WCF сервисов – это RESTful сервис, который отдает файлы (отчеты), то есть умеет обрабатывать GET запросы, все по стандартному...



Пишем свою систему логирования при помощи WCF

Предположим у нас есть задание: написать систему логирования, которая в реальном времени отсылает логи слушателям, причем информация может быть конфиденциальная и нужно избежать возможности кражи информации.



WCF: The remote server returned an unexpected response: (405) Method Not Allowed

При разработке на Vista приложений на WCF можно встретить следующую ошибку: The remote server returned an unexpected response: (405) Method Not Allowed. Решается проблема добавлением функциональности Windows Communication Foundation HTTP Activation в Turn Windows feaures on or off (при установки по умолчанию данная функция не включена).