Каковы ограничения свободного XAML?

Я экспериментировал с WPF и отображал строгую разметку XAML в веб-браузере, также известном как свободный XAML (объяснение здесь и здесь ).

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

Свободные файлы XAML не компилируются с приложением, что создает следующие ограничения:

  • Они не позволяют внешние сборки
  • Без использования классов, кода программной части (или любого C#)
  • Нет двусторонней привязки данных

Какие дополнительные ограничения существуют?

  • Я не нашел способ привязки данных к поставщику базы данных (SQL Server)
  • Требуется ли .NET Framework на клиентском компьютере для отображения XAML в браузере?
  • Могут ли поисковые системы запрашивать свободный XAML для надлежащего ранжирования страниц?

РЕДАКТИРОВАТЬ: я попытался привязать поставщика данных XML к веб-службе (используя это простой пример) и не увенчались успехом. Эти результаты привели меня к дальнейшим исследованиям, в ходе которых я обнаружил, что это не поддерживается: «Провайдер XMLDataProvider предназначен только для чтения (другими словами, он не дает возможности фиксировать изменения) и не может иметь дело с XML-данными, которые могут поступать из других источников (таких как запись базы данных, сообщение веб-службы и т. д.)». – Мэтью Макдональд, Pro WPF


person YeahStu    schedule 01.10.2008    source источник


Ответы (3)


Насколько я знаю, невозможно определить строку подключения в XAML. Таким образом, вы не можете получить доступ к своей базе данных SQL.

Примечание. МОЖНО выполнить привязку данных к веб-службе, используя XmlDataProvider. Таким образом, вы могли бы отправить свои данные через...

Изменить: кстати, я нашел этот список функций изолированной среды, в которой работает ваше приложение при использовании XBAP и свободного XAML. это немного устарело, но, вероятно, большинство ограничений все еще применяются.

person Ruben Steins    schedule 02.10.2008

Для просмотра свободных страниц XAML в IE требуется как минимум платформа 3.0. Вы даже можете проверить его на своем сайте, выполнив поиск «.NET CLR 3.0» в строке пользовательского агента.

Соединение с базой данных, если оно вообще возможно, не будет выполняться непосредственно в свободном XAML из-за необходимости процедурного кода для открытия соединения.

person Joel B Fant    schedule 01.10.2008
comment
Я не уверен, почему это вообще проблема. свободный xaml следует сравнивать с HTML. вы также не можете открыть соединение с базой данных с помощью javascript на стороне клиента. вам нужно будет выполнить эту работу на сервере, а затем отправить страницу уже с информацией о базе данных клиенту. почему бы вам не сделать то же самое с свободным xaml.. сервер создает xaml с данными и отправляет его клиенту - person zumalifeguard; 14.08.2010

Я проделал большую работу по размещению среды выполнения Dynamic Language Runtime (DLR) и внедрению сценариев в XAML. Сейчас я чувствую, что Loose XAML не является гражданином второго сорта, поскольку я могу обрабатывать события, писать преобразователи значений, запускать Python/Ruby/JScript, чтобы делать такие вещи, как подключение к SQL-серверу.

См. мой блог, чтобы узнать, подходит ли вам это направление.

Я динамически загружаю сборки с помощью прикрепленного свойства — после загрузки вы можете ссылаться на классы в сборке обычным способом.

Итак, также ответьте на вопрос: существует МНОГИЕ ограничения свободного XAML из коробки (например, невозможность перенаправить событие в обработчик событий), но их можно преодолеть, немного поработав.

Я использовал XAML/WPF только для настольных приложений. Надеюсь, кто-то еще ответит на ваши вопросы о браузере.

У меня есть библиотека, которую я использую в коммерческой работе для размещения DLR и внедрения сценариев DLR в XAML, которую я намеревался превратить в поддерживаемый продукт. Если вам это будет интересно, обязательно дайте мне знать.

person Daniel Paull    schedule 17.12.2008