2

我正在评估技术、原型设计并可能为一组使用 ASP.Net WebForms、UIP、Unity、MVP 和包装 Entlib 3.1 的自定义框架编写的基于 Web 的应用程序定义应用程序架构。当前工具包存在的一些问题是:

  1. 很难利用最新的客户端技术将渐进增强构建到表示层中。

  2. 用户控件本质上难以重用,并且生成服务器控件的复杂性增加了它们的广泛使用。

  3. 母版页概念不提供组织范围内的重用。无论如何,它需要由项目团队大量定制。

  4. 生成可访问、兼容和跨浏览器兼容的 HTML 非常困难。

  5. 在产品组合中的应用程序之间几乎没有机会使用可重复使用的屏幕(视图)。

我们拥有的关键要求之一是能够生成可配置/可组合的导航流。在当前架构中,UIP 应用程序块相对容易实现这一点。

我们正在评估将 ASP.Net MVC4 用于我们未来的 Web 应用程序的情况。

我的问题是这样的:

有没有人使用 ASP.Net MVC 实现了 UIP 样式的可配置/可组合导航功能?

我遇到了 PageFlow 应用程序块:http ://webclientguidance.codeplex.com/wikipage?title=Page%20Flow%20Application%20Block ,它旨在解决这个确切的问题。

我从 wcsf contrib 项目http://wcsfcontrib.codeplex.com/下载了 PageFlow 应用程序块,但源代码甚至无法在 VS2010 上编译。有人用过 PageFlow 应用程序块吗?此应用程序块是否不受支持,因此已过时?

如果您需要为向导式 Web 应用程序提供可配置的导航功能,您会怎么做?

很抱歉这个冗长的问题。我想提供尽可能多的上下文。

4

1 回答 1

0

我已经能够使用 Visual Studio 2010 构建 PageFlow Guidance 包。源代码可在 codeplex 站点上找到:http ://wcsfcontrib.codeplex.com

然而,有一些怪癖。以下是我遵循的步骤:

  1. 将“PageFlow Application Block (VSTS Tests).sln”解决方案升级到VS2010

  2. 确保针对来自最新 Web 客户端指导包二进制文件的 Entlib 和 Unity 框架版本构建解决方案:http ://webclientguidance.codeplex.com/

  3. 构建此解决方案后,您还可以升级和构建 visx 指导包 - “Pageflow Guidance Package (VSTS Tests).sln”

  4. 确保您的 Visual Studio 副本上安装了 GAT2010 和 GAX2010 扩展

  5. 确保您引用了 GAX2010 中的 Microsoft.Practices.RecipeFramework* 程序集

  6. pageflow 包和 Web Client Guidance 包之间存在奇怪的依赖关系。这是:Microsoft.Practices.RecipeFramework.Extensions.dll。您必须从 Web Client Guidance 包二进制文件中获取此程序集。

一旦您能够构建 PageFlow 应用程序块和 PageFlow 指导包,您就可以开始了。当与 Asp.Net MVC 结合使用时,PageFlowHttpModule 功能中有几个错误。依赖 .aspx http 扩展名来确定何时使用该模块。这很容易解决。

此应用程序块为您提供了两种在应用程序中配置页面流的潜在方法:

  1. 使用 Workflow Foundation 3.0
  2. 使用 XML 配置概念,与 UIP 完全相同。

这两者各有利弊。我们希望远离 WF3.0,因为它总体上增加了对旧版本的 Windows 工作流和 AppFabric 的依赖。在有人将其升级到 WF4.0 之前,使用它没有多大意义。

与此同时,PageFlow 应用程序块、MVC4 和 Visual Studio 2010 的工作就像一个魅力,正在做我们想做的一切与导航有关的事情。

于 2012-10-23T00:03:28.587 回答