вторник, 5 октября 2010 г.

WCF transfer large DataSet or DataTable

В WCF достаточно проблемно организована работа с большими объемами данных. Например, передача большого DataSet упирается в: сериализацию, ограничения на размер буфера и размер пакета и т.д.

Если у вас гоняются через WCF сервис действительно большие таблицы, то вам может понадобится решение «Transfer gigantic DataTables over WCF / .Net Remoting» которое лежит на Codeplex.

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

Такой подход принципиально можно применять для коллекций и потоков (например, в случае невозможности включения Streamed режима) и т.д.

Авторы утверждают что:

1.       Передавать между сервером и клиентом неограниченное количество данных (тут я пожалуй соглашусь, ведь запросов к серверу может уходить сколько угодно).

2.       Улучшает пропускную способность до 75% (WCF с передачей DataTable может передавать со скоростью 3154 Кб/с, а такое решение – 12245 Кб/с).

За счет чего может получаться такая пропускная способность мне не вполне понятно, я думаю что за счет распараллеливания клиентских запросов к данным. Например, в нескольких запросах получается последовательно 3-4 порции записей.

Меня сметили в реализации следующие вещи:

1.       Открытие дополнительного ServiceHost выглядит не очень. Скорей тут нужно публиковать отдельный сервис, который будет висеть постоянно. Так можно будет не привязываться к хостам, которыми в ряде случаев (например при хостинге на IIS мы не управляем).

2.       Регулировать размер возвращаемых данных нужно относительно того, какие квоты выставлены для сервиса.

3.       Использовать не только Binary сериализацию, и не только net.tcp. Все таки для инета это тоже может очень хорошо работать.

В итоге: идея жизнеспособная, но решение надо прорабатывать под конкретные нужды.

Posted via email from Комуникликабельность

понедельник, 4 октября 2010 г.

User Group Support Services

MS открыла ресурс, который видимо будет объединять Community всех стран, в том числе и User Groups и MCP Clubs.

www.technicalcommunity.com

Похоже что ресурс сделан на Sharepoint 2010. Выглядит симпатично. Поддержки русского я пока не нашел, может быть впоследствии появится. Обнадеживает что ресурс официальный, а значит должен хорошо поддерживаться MS.

Сразу же нашел MCP Club Izhevsk. К сожалению User Group пока нет, но думаю что она скоро там появится.

Posted via email from Комуникликабельность

суббота, 2 октября 2010 г.

Локальный SVN

Сегодня решил несколько организовать свое рабочее пространство: поставить локальный сервак SVN и складывать туда проекты. Для чего это хочу сделать? Для того, чтобы все проекты были в одном месте, для того, чтобы они не потерялись, если чтото слетит, для того, чтобы была версионность, для того … ну в общем, мне это показалось клеевой идеей J.

В итоге, для начала я решил поднять самый простой сервак. Проще, чем VisualSVN Server не нашел … наверное потому что не искал, или наверное потому что нашел его самым первым и сразу поставил, он меня полностью удовлетворил своими возможностями. Так как у меня уже стоял TortoiseSVN, то и сразу же залил туда все проекты. Интеграции с IDE не было, поэтому я поднял и ее. Тут пришлось порыться в инетах, в итоге нашлось бесплатное средство, интегрирующееся с VS AnkhSVN. Visual SVN поставил и сразу снес, потому что он платный J.

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

В итоге, хочу использовать для двух целей:

1. Хранение локальных проектов.

2. Хранение документов.

Посмотрим что из этого получится…

Posted via email from Комуникликабельность

среда, 29 сентября 2010 г.

Материалы с прошедшей UserGroup

Как и обещал, выкладываю материалы со своего выступления на сегодняшней User Group в Ижевске. Надеюсь что всем понравился мой рассказ про WCF REST Services и Windows 7 Federated Search. Лично я получил ни с чем не сравнимое удовольствие.

Конструктивная критика принимается в комментариях J.

Download now or preview on posterous
WCF.ppt (1539 KB)

Click here to download:
DemoService.zip (45 KB)

Posted via email from Комуникликабельность

Пожалуй излишества...

Смотрю на список зарегистрированных на 11 встречу User Group  в Ижевске. У всех, кроме меня личная страничка пустая. Возникает вопрос, зачем? Зачем ребята, которые поддерживают ресурс сделали для каждого свой узел? Лишний ресурс, куда они будут публиковать свои записи, вроде бы никому не нужен. RSS репостинг  конечно дело хорошее, но зачем тратить ресурсы на поддержку кучи пустых сайтов, на которых ничего нет?

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

В общем, не понимаю я …

Posted via email from Комуникликабельность

вторник, 28 сентября 2010 г.

Не ищите меня больше на 38 параллели, я перепрятался

Дорогие дети. Не ищите меня больше на 38 параллели, я перепрятался.

Купите ещё ящик таких бутылок, как я вам прислал, и бросьте обратно в море.

Ваш отец, капитан Грант.

Собственно сабж говорит сам за себя. Меня достал «необыкновенно удобный» хостинг, называемый ayola.net. Хоть и бесплатный, но жутко неудобный как с точки зрения пользователя, так и с точки зрения технической. Поддерживать свой вариант wordpress на нем, уже не очень хочется. Кроме того, после последнего обновления, оказалось что версия PHP на которой работает последний WP и версия на хостинге несколько отличны. В связи с этим, там возникли значительные косяки с кодировками, которые мне разрешить так и не удалось.

Еще сегодня проскочила новость, что MS решила закрыть блоги Live Spaces, предлагая пользователям безболезненно перейти на wordpress.com. Я попробовал настроить там блог под себя, мне понравилось. Wordpress.com стал действительно удобным сервисом для размещения своих записей. Думаю что проблем с хостингом от автора продукта должно быть значительно меньше (хотябы обновления ставить не надо руками). В той же новости говорится, что Live Writer будет теперь ориентироваться на wordpress, что на самом деле не может не нравится. Я не буду обсуждать решение MS, может это шаг в сторону PHP, может это просто экономия денег на неприбыльном продукте, это в конечном счете не важно.

В итоге, блог heeepi.zx6.ru я постепенно закрою, сейчас настроил там редирект на новый блог, так что не ругайтесь, если вас перебросит на heeepi.wordpress.com.

Я не капитан Грант, поэтому оставлю несколько ссылок, где меня искать.

http://heeepi.wordpress.com/ - Это собственно новый блог на основе wordpress.

http://heeepi.livejournal.com/ - Это моя уютная ЖЖшка.

http://heeepi.blogspot.com/ - Это блог на blogspot. Мало ли, кто-нибудь и там пишет и читает J

http://heeepi.posterous.com/ - Это блог на posterous.com, откуда собственно рассылаются все записи.

http://11035.ineta.ru/blogs/default.aspx - Это кростпост на ineta.ru.

Posted via email from Комуникликабельность