PageFlow应用程序块,MVC4和Visual Studio 2010

时间:2012-10-04 00:25:57

标签: asp.net-mvc navigation

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

  1. 使用最新的客户端技术在表示层中构建渐进增强功能真的很难。

  2. 用户控件本身很难重复使用,而且生成服务器控件的复杂性增加了它们在大范围内的使用。

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

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

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

  6. 我们的关键要求之一是能够生成可配置/可组合的导航流程。在当前的体系结构中,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应用程序执行可配置的导航功能,那么您将如何做?

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

1 个答案:

答案 0 :(得分:0)

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

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

  1. 将“PageFlow应用程序块(VSTS测试).sln”解决方案升级到VS2010

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

  3. 一旦你构建了这个解决方案,你也可以升级和构建visx指导包 - “页面流指导包(VSTS测试).sln”

  4. 确保您的visual studio副本上安装了GAT2010和GAX2010扩展程序

  5. 确保您参考GAX2010中的Microsoft.Practices.RecipeFramework *程序集

  6. 页面流包和Web客户端指南包之间存在奇怪的依赖关系。这是:Microsoft.Practices.RecipeFramework.Extensions.dll。您必须从Web客户端指南包二进制文件中获取此程序集。

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

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

    1. 使用Workflow Foundation 3.0
    2. 使用XML配置概念,与UIP完全相同。
    3. 这两者都有利有弊。我们希望远离WF3.0,因为它增加了对旧版Windows Workflow和AppFabric的依赖性。在有人将其升级到WF4.0之前,使用它没什么意义。

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