Сообщения

Silverlight: Общие типы / объекты между двумя WCF - сервисами побыстрому.

Задача: между двумя сервисами передавать общий объект одного класса (типа) на стороне клиента. Т.е. Silverlight получает кастомный объект из одного сервиса, обрабатывает его и передает в другой сервис/ы. Чтоб сделать так, вынесите общий тип в общий проект. Этот проект должен быт Silverlight class library. Мне даже не пришлось выкидывать конфликтующие с полным .NET Framework сборки при добавлении референса на общий Silverlight проект в проект Web-сайта. Видимо, это будет работать пока не испольуются какие-либо сложные типы, например List<ЧтоТо>. Оказалось в WCF задача решается, как и в обычных Web-сервисах ASP.NET – через внешнюю сборку, на которую ссылаются оба проекта - и клиент и сервис. Но есть еще проблема с INotifyPropertyChanged. Нельзя создать общий проект / сборку содержащую класс, наследованный от INotifyPropertyChanged, потому что этот интерфейс определен в сборке System для Silverlight, но не для полного .NET Framework. Вот такая ошибка получается при этом: The type ...

Silverlight: В TreeView в XAML нельзя помещать вперемешку TreeViewItem и другие элементы.

Unhandled Error in Silverlight Application Code: 1001 Category: ParserError Message: AG_E_UNKNOWN_ERROR File: Line: 123 Position: 321 Если в TreeView или в TreeViewItem поместить в разметке вперемешку TreeViewItem и другие элементы, то при установке item.IsExpanded = true; получите выше приведенное исключение. Обнаружено в Silverlight 3 Toolkit October 2009

ASP.NET: Приложение сервера недоступно

Текст ошибки: Приложение сервера недоступно Web-приложение, к которому вы пытаетесь обратиться на этом веб-сервере, в данный момент недоступно.  Нажмите кнопку "Обновить" в своем веб-обозревателе для повтора запроса. Замечание администратора: Сообщение об ошибке, подробно поясняющее причину сбоя данного конкретного запроса, находится в журнале событий приложений на веб-сервере. Ознакомьтесь с этой записью в журнале и выясните причину ошибки. Одна из причин: В папке в которой находяться файлы сайта нет прав для запуска ASP.NET. Например для Widows XP для сайта разработки достаточно добавить на папку сайта учетку ASP.NET, но она есть только в Win XP, поэтому чтоб не запоминать, сделайте права на папку сайта такие же, как в папке сайтов IIS по умолчанию. Это C:\Inetpub\wwwroot. Даже если ваша папка сайта (приложения) лежит в C:\Inetpub\wwwroot, то всеравно проверте на ней права, тк они могут отстутствовать, например из-за выгрузки папки сайта целиком из SVN. Характерн...

Linq: Метод var res = (Linq Expression).ToDictionary(p => p.ID) неработает с анонимными типами полученными в select выражения Linq.

Вот это работать будет var res = (from item in SomeList     select new SomeClass()         {             ID = item.Id,         } ).ToDictionary<SomeClass, Int64>(p => p.ID); А вот это нет var res = (from item in SomeList     select new         {             ID = item.Id,         } ).ToDictionary(p => p.ID); Чтоб это обойти нужно просто исопльзовать ToDictionary, принимающий два делегата Func, а не однин. Например: var res = (from item in SomeList     select new         {             ID = item.Id,         } ).ToDictionary(p => p.ID, p=>p); Первый де...

Silverlight: Улучшенный TreeView с CheckBox. Добавил детальное представление и фильтрацию элементов для детального представления - TreeView Using CheckBoxes improvement

Есть в Silverlight Toolkit пример Using CheckBoxes in a TreeView – Использование чекбоксов в дереве. Я его срочно доработал :). Посмотреть готовый припер вы можете сразу по этой ссылке Check Hierarhy Perfect Скачать проект здесь . В Silverlight есть TreeView в котором вставлены CheckBox. Изменение этих CheckBox связано как вверх по иерархии, так и вниз. Как это работает в Toolkit можно посмотреть здесь (внимание, долго грузиться, тк сразу все примеры из Toolkit) . Я чуть-чуть доработал это приер и вот что мне удалось туда добавить работа с детальным представление и чтоб в изменения в детальном представлении изменяли отображение самого TreeView Избавиться от обработчика события клика по элементу дерева Дабавил возможность разделения элементов между деревом и детальным представлением. Например у структуре организации у вас есть подразделения и сотрудники и вы хотите в дереве отобаржать только подразделения, а в детальном DataGrid или другом TreeView сотрудников. Ну по псякому может...

WPF: DataGrid в WPF не поддерживает полноценной работы с валидацией, в отличии от Silverlight DataGrid

На данный момент я не нашел способа программно в UI (!!! а не в бизнес объектах) определить, валидны ли строки или ячейки в DataGrid WPF. Стандартные уловки с LogicalTreeHelper.GetChildren(...) и Validation.GetHasError(...) на теперешнем июльском 2009 DataGrid не работают. А вот разработчики Silverlight Toolkit такого промоха не допустили. Вот и пригодился мой подход с самопальными Validation Groups как у ASP.NET, который я притянул в WPF и о котором писал ранее. Так что, не все так хорошо в датском королевстве :) Но ждем лучшего, т.к. .NET Framework 4 не загорами.

Microsoft Web Platform Installer 2.0 у меня как-то криво ставит Silverlight 3

Unable to start debugging. The Silverlight managed debugging package isn't installed Попробуйте переустановить Microsoft® Silverlight™ 3 Tools for Visual Studio 2008 SP1 , только не используйте для этого Web Platform Installer 2.0. И еще, хоть Microsoft® Silverlight™ 3 Tools for Visual Studio 2008 SP1 и не поддерживает Widows Server 2003, но всеравно там работает. У этой проблемы есть и более стандартный ответ, но с ним вам поможет Google.com, который вам скажет, что у вас не установлен Silverlight Developer Runtime. Это одна из частей, как раз вхдящая в Silverlight™ 3 Tools for Visual Studio 2008 SP1. Вообще  корень проблемы в том, что Microsoft Web Platform Installer 2.0 у меня ставит как-то криво, что даже Silverlight на работает.