代码之家  ›  专栏  ›  技术社区  ›  RationalGeek

在Silverlight和ASP.NET之间混合应用程序模块

  •  3
  • RationalGeek  · 技术社区  · 14 年前

    背景:
    我在一套ASP.NET应用程序中工作,这些应用程序有几个不同的“模块”。应用程序都共享一个主菜单,因此它们都互相链接。这些模块是应用程序的高级领域。例如,它可能是付款、订单、客户、产品等,付款和订单在一个应用程序中,而产品和客户在另一个应用程序中。其中一些菜单链接是“深度链接”,例如,它可能是指向客户模块中特定页面的链接,例如创建新客户。

    问题:
    我们将启动一个项目,该项目将向该套件添加更多模块,可能是作为一个新的.NET应用程序。我正在考虑在Silverlight中执行这些新模块(出于各种原因,这些都不是问题的实质)。如果要这样做,我需要使菜单看起来与ASP.NET中的菜单相同,因为用户仍然需要感觉他们在一个“应用程序”中。

    我的问题:

    • 我应该如何组织Silverlight项目,以便能够从ASP.NET页面“深度链接”到Silverlight应用程序中的特定模块?
    • 创建这些不同的Silverlight“模块”的最佳方法是什么?如果我有一个在ASP.NET中可能是一个页面的东西(例如-create customer),那么每一个都应该是一个单独的Silverlight应用程序吗?或者应该是一个单独的用户控件?或者别的什么?
    • 我是否应该重用我们共享的ASP.NET菜单,并深入链接到不同的Silverlight“模块”,即使是在新的应用程序中?或者我应该在Silverlight中重新实现菜单以便在应用程序中导航?
    • Silverlight是否有类似于ASP.NET菜单的菜单控件(在本例中是弹出式子菜单)?我可以在他们之间共享站点地图XML文件吗?

    编辑:
    再多看一看,棱镜似乎是我一些问题的答案。它将允许我模块化我拥有的不同的Silverlight块。它允许我在Silverlight中定义一个“母版页”,在那里我可以托管菜单。我有这个权利吗?

    1 回复  |  直到 14 年前
        1
  •  1
  •   RationalGeek    14 年前

    既然我没有得到任何答案,我想我会自己回答的。

    • 您可以使用Silverlight导航应用程序“深入链接”到Silverlight项目,该应用程序是Silverlight工具包随附的Vs2010项目类型。
    • 您可以使用 Prism (A.K.A.复合应用程序块)或 MEF (托管扩展性框架)。这两个框架都有不同的优点和缺点,并且它们做得很好。

    我还没有决定如何实现菜单,无论是在ASP.NET还是Silverlight中。但有了上面的构建块,两者都将具有必要的功能。