Тэги

Silverlight (36) WPF (10) IIS (7) Visual Studio (7) SharePoint (6) .Net Framework (5) ODP.NET (5) ASP.NET (4) C# (4) common (4) Network Settings (3) JavaScript (2) MS Office (2) Resharper (2) WCF (2) WEB (2) XPath (2) XSLT (2) ADO.NET (1) APEX (1) CMD (1) CSS (1) EF (1) HTML (1) Hardware bugs (1) Java (1) MS SQL (1) Oracle (1) PDF (1) Version Control (1) XAML (1)

среда, 22 июля 2009 г.

Размещение строки создания (наполнения) нового элемента первой строкой в DataGrid WPF Toolkit.

По умолчанию строка для добавления/наполнения нового элемента расположена внизу DataGrid WPF.
Для её размещения сверху нужно обратиться к представлению по умолчанию для коллекции, которая будет привязана к DataGrid, привести его к IEditableCollectionView (представлению для редактирования) и задать соответствующий параметр NewItemPlaceholderPosition. Вот как это выглядит в коде:

var view = (IEditableCollectionView)CollectionViewSource.GetDefaultView(productGroups);
view.NewItemPlaceholderPosition = NewItemPlaceholderPosition.AtBeginning;

Добавьте этот код после создания привязываемой коллекции, можно, даже, до ее наполнения.

Вот как-то так :)

Взято из WPF DataGrid – New Item Template Sample.

вторник, 21 июля 2009 г.

ODP.NET versus System.Data.OracleClient

Нету больше System.Data.OracleClient. В четвертой версии .NET Framework он deprecated.
Microsoft решила свернуть его развитие.
Источник: ADO.NET team blog
Ну чтож, ODP.NET тоже можно кушать.

А давайте-ка я пройдусь по родному ADO.NET провайдеру от Oracle, называемому ODP.NET.
ODP.NET быстрее, но я делал высоконагруженный проект, где Майкросовстский провайдер прекрасно справлялся с потребностями ораклистов.
ODP.NET функциональнее, однако кому-то этот функционал покажется пятой ногой с внутренней коленкой.
ODP.NET глючнее и может очень дорого обойтись при переходе на другую версию Oracle. Мне кажется Oracle сам по себе далеко не так вкладывается в совместимость, как это делает Microsoft.
Вот что я помню в ODP.NET:
Когда Oracle возвращает число у которого после запятой где-то от 19 знаков точности, ODP.NET это не переварит и “порвет”.
Также есть ядерные забабоны, когда ODP.NET от одной версии Oracle подключается к базе другой версии, например 10й или 11й ODP.NET подключается к девятке или десятке Оракле. Это только в сказке все будет работать хорошо и сказка эта “Документация от Oracle”. А в жизни будет рваться, например, от разного сочетания символов в строке :). Правильный референс в системе на OCI не поможет :) гы гы гы
Ну не все так печально, ко всему можно приспособиться и использовать. Или теперь чаще будем задумываться о том, какую базу использовать.
Вообще, перевод с System.Data.OracleClient на ODP.NET ничего не стоит, а вот перевод наоборот может обойтись очень дорого.
Так что мягкой миграции, господа.

Internal .Net Framework Data Provider error 30

Обычно эта ошибка связана с неправильным сопоставлением типов на стороне .NET Framework в System.Data.OracleClient классах или там же с превышением разрядности значения. Например принимется строка в 5 символов, а передается 10. Но сейсас первый раз столкнулся с отображением этой ошибки, когда неправильное приведение типов было в процедуре пакета Oracle.
Не ожидал увидить сообщение .NET Framework из-за ошибки в Oracle.
Это недоработка, конечно, в .NET Framework, но предупрежден, значит вооружен. Все лучше чем забабоны родного .NET провайдера от Oracle, по имени ODP.NET.

пятница, 17 июля 2009 г.

Детали настройки VSeWSS 1.3 беты

Делайте поправку, что среда развивается и что-то может поменяться. Сегодня 30.05.09.
Почитайте сначала немного хэлпа по установке VSeWSS 1.3.
А после этого:
1. если вы все настроили правильно, но запустили Visual Studio 2008 не под админской учеткой в Windows Server 2008, то Deploy и Retract ("Undeploy") сработают, а вот дебаггинг не запуститься и VS ругнется со следующей ошибкой:
Error (-1989080679) Unable to start debugging on the web server. You do not have permissions to debug the web server process. You need to either be running as the same user account as the web server, or have administrator privilege.
Т.е. IIS не разрешает вам к нему подключатся для дебаггинга из-за отсутствия у вас прав.
2. при работе с VSeWSS без Active Directory, видимо, сразу забудьте про то, что вы сможете достучаться до Windows SharePoint Services (WSS) или до Microsoft Office SharePoint Server (MOSS) на другой машине. Соответственно SharePoint Solution Generator 2008 также не увидит другие машины.
Без AD все будет работать только локально!
И в самом деле, другой комп и знать не знает про вашу локальную учетку, ему его учетку подавай. Решение для этого возможно, но просто не предоставлено, видимо.
Приятная новость заключается в том, что если вы все настроили правильно, то и SharePoint Solution Generator 2008 начнет видеть локальный сайт WSS.
А вот ошибка, которую вы получите при обращении с вашего компа к сайту на другой машине без AD:
Microsoft.SharePoint.Tools.WebNotFoundException: No SharePoint Site exists at the specified URL. ---> System.IO.FileNotFoundException: Не удалось найти веб-приложение по адресу http://shpointhostdev1:8855/. Проверьте, правильно ли введен URL-адрес. Если этот URL-адрес предназначен для существующего содержимого, возможно, системному администратору потребуется добавить новое сопоставление URL-адреса запроса с данным приложением.
Конечно сопоставление URL-адреса тут непричем :)
3. Сосредоточтесь теперь: VSeWSS 1.3 работает с SharePoint через создаваемый при установке Windows Communication Foundation (WCF) по имени VSeWSS размещенном на IIS. Нужно чтоб этот WCF запускался в пуле приложений IIS, который работает под учеткой владельца сайта или администратора семейства узлов. Последний вариант конечно лучше, тк подойдет сразу для всех сайтов. При этом учетка не обязана быть админской, она может принадлежать группе пользователей (USERS). Членство в группе WSS_ADMIN_WPG вам также не поможет!
Вот ошибка которая может отображается в VS 2008, если учетка не имеет доступа на сайт.
System.UnauthorizedAccessException: Отказано в доступе. (Исключение из HRESULT: 0x80070005 (E_ACCESSDENIED))Из-за этого, видимо, учетка LocalSystem тоже не прокатывает при задании пулу.
Так что сразу проверяйте и настраивайте права пула приложений IIS.
4. Как сказано в блоге Kirk Evans, настройте дебаггинг и связанные с ним параметры в web.config файлах.
5. Дебаггинг запускается, но тут же прекращается. Остается открытой страница в бразузере.
В этом случае просто закройте все окна Internet Explorer и запустите дебаггинг снова.
Вот по этой ссылке Problem with configuring VSeWSS 1.3 CTP w/ VS 2008 люди тоже замечательно покувыркались и кувыркаются досих пор :)