2010-05-05 2 views
3

Справочная информация: Я работаю в наборе приложений ASP.NET, которые имеют несколько разных «модулей». Все приложения имеют основное меню, поэтому все они связаны друг с другом. Модули являются областями высокого уровня приложения. Так, например, это могут быть платежи, заказы, клиенты, продукты и т. Д. И платежи и заказы находятся в одном приложении, а продукты и клиенты - в другом. Некоторые из этих ссылок меню - «глубокие ссылки», например, это может быть ссылка на определенную страницу в модуле Customers, например «Создать нового клиента».Смешивание прикладных модулей между Silverlight и ASP.NET

Вопрос:
Мы собираемся начать проект, который добавит еще несколько модулей на этот пакет, вероятно, в качестве нового приложения .NET. Я думаю о том, чтобы делать эти новые модули в Silverlight (по разным причинам, которые не являются существенными для вопроса). Если бы я это сделал, мне нужно, чтобы меню выглядело так же, как меню в ASP.NET, так как пользователям по-прежнему нужно чувствовать, что они находятся внутри одного «приложения».

Мои вопросы:

  • Как я организующие Silverlight проект (ы), так что я могу «глубокую связь» из страниц ASP.NET в определенные модули в Silverlight приложения?
  • Что такое даже самая лучшая идея для создания этих различных модулей Silverlight? Если бы у меня было что-то, что было бы страницей в ASP.NET (например, Create Customer), должен ли каждый из них быть отдельным приложением Silverlight? Или это отдельный пользовательский контроль? Или что-то другое?
  • Должен ли я повторно использовать наше общее меню ASP.NET и глубокую ссылку на разные модули «Silverlight» даже в новом приложении? Или я должен переопределить меню в Silverlight для навигации в приложении?
  • Есть ли элементы управления меню для Silverlight, которые выглядят похожими на меню ASP.NET (с учетом подменю вылета в этом случае)? Могу ли я даже поделиться XML-файлом SiteMap между ними?

Edit:
Осмотрев немного больше, это кажется, что PRISM может быть ответом на некоторые из моих вопросов. Это позволило бы мне модулизовать различные куски Silverlight, которые у меня есть. И это позволило бы мне определить «главную страницу» в Silverlight, где я мог бы разместить меню. У меня есть это право?

ответ

1

Ну, так как я не получил никаких ответов, я думаю, я отвечу сам.

  • Вы можете «глубоко связать» в проектах Silverlight с помощью приложения Silverlight Navigation, которое является типом проекта для VS 2010, поставляемого с Silverlight Toolkit.
  • Модифицировать приложение Silverlight можно с помощью Prism (a.k.a. Composite Application Block) или MEF (Managed Extensibility Framework). Обе структуры имеют разные плюсы и минусы и разные вещи, которые они преуспевают.

Я не решил, как реализовать это меню, будь то в ASP.NET или Silverlight. Но со строительными блоками выше обоих будет необходимая функциональность.

Смежные вопросы