我越是研究几个关于ASP.net的主题,我就越觉得在ASP.net领域(webforms和mvc)中如何以及在哪里正确应用一些东西存在真正的差距。 / p>
工作流基础
我喜欢使用WF;但是,我所读到的一切都是因为每个应用程序域限制的1个工作流托管环境,所以不推荐ASP.Net应用程序使用。现在我还没有看到这些限制发生了哪些变化,但是从旧的.Net 3.0(.netfx)时代起我也找不到任何有关此限制的信息。我一直在寻求建议,将工作流程转化为服务,听起来不错;但是,如果服务过于频繁,会导致一些性能问题吗?在ASP.Net中是否有WF的位置,如果有,在哪里?
并行处理
并行性也是如此。我一直看到/阅读关于执行多线程ASP.Net应用程序的建议是不这样做,因为在IIS的应用程序池中设置了线程池的方式。现在随着.Net 4的出现以及各处的多核处理器,多线程似乎再次成为最热门的话题之一。我喜欢我在4.0中的并行扩展中看到的内容;但是,建议是否仍然没有在ASP.Net中进行,或者是否有一些地方在此时推荐它?
多年前对这两个项目的建议是否仍然有效?它们是否应该在ASP.Net世界中避免使用?
由于
答案 0 :(得分:4)
多线程在ASP.Net中仍然相当无关 - 原因是你在ASP.Net中编写的任何代码都是为了处理单个请求。在其他类型的应用程序中使用多个线程有两个主要原因:
工作流程主要是为长时间运行的任务而设计的 - 不要在按钮点击处理程序中的某些简单代码所使用的地方使用它。删除即时响应的要求,简单的队列可以解决大多数潜在的性能问题。我在ASP.Net页面中使用了WF,但如果我需要速度或大量用户,我就不会这样做。