【问题标题】:Performance implications of using WF to control UI navigation in ASP.NET MVC application在 ASP.NET MVC 应用程序中使用 WF 控制 UI 导航的性能影响
【发布时间】:2009-10-30 13:54:46
【问题描述】:

我需要根据登录用户的语言环境构建具有不同流程和不同 UI 步骤的 Web 应用程序。

我已经用 C# 开发了许多 ASP.NET 应用程序,并且就像 MVC 方法可以给我的关注点分离一样。所以我正在考虑使用这些技术。

问题在于,尽管访问相同的数据源,但不同地区的不同用户需要有非常不同的体验。我还受到能够轻松配置新流程的要求的限制。基于 XAML 的 Windows Workflow Foundation 看起来是一个不错的选择,并且可以让我避免开发自己的流程引擎。

但是,我有点担心这种方法对性能的影响。有没有人尝试过这种架构?我预计会对请求时间、CPU 利用率和内存消耗产生什么样的影响?

感谢所有意见,谢谢。

【问题讨论】:

  • 对于一个网络应用程序,我认为客户端服务器响应时间将使任何其他性能问题相形见绌,除非您正在处理一个期望获得大量订阅的网站。我有一段时间没有关注 WF,但它不是为高性能应用程序设计的,而是为长时间运行的进程设计的,因此专注于持久性。 MVC 将使您能够基于 localw 提供不同的视图,但通过应用程序的底层路径将是相同的。你能解释一下语言环境对应用的影响吗?
  • 部分应用程序涉及为项目招标产生成本。不同类型的项目和不同的国家有不同的成本计算模型,需要不同的数据并与不同的模型进行比较。

标签: asp.net-mvc performance workflow-foundation


【解决方案1】:

怎么样

主要的反对意见,我想,性能风险,虽然与您的问题没有特别相关,但 Windows 工作流程并不是为这种类型的场景设计的。简而言之,WF 的第一设计宗旨是支持长期运行的事务,围绕 Web 服务和 SOA 构建,即持续数天的事务连接,因此它的运行时针对它进行了优化。它并不真正适合,尤其是当您需要将其硬塞到工作中时,并且对于短期运行的工作流程(即与状态更改、缓存等相关的可比性)而言,它将消耗更多资源其他流程代码/引擎。如果您继续,请启动并运行飞行员并使用 Mercury Load Runner 进行测试。

scope_creep

【讨论】:

  • 您知道其他与 .net 很好兼容的流程引擎吗?
  • 有这个规则引擎,在xml中指定规则。您是否使用过规则引擎。对于不同的语言环境,加载不同的规则。 sourceforge.net/projects/sdsre
  • 这甚至可能更合适,因为它有一个特定的组件,即流引擎。 agilepartner.net/oss/nxbre鲍勃。
  • 我可以使用 MSUnity 构建自己的规则引擎来支持 XML 配置
猜你喜欢
  • 2011-06-27
  • 1970-01-01
  • 1970-01-01
  • 2020-04-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-12-26
  • 2010-11-25
相关资源
最近更新 更多