我怀疑何时需要在Asp.Net中创建单个线程? 我是编程新手。 提前谢谢。
答案 0 :(得分:4)
Web应用程序中的表示层通常不需要自己创建额外的线程。 ASP.NET将管理线程(有时以令人惊讶的方式 - 它是线程敏捷,因此您可以发现单个请求在其生命周期中处理了多个线程)。
如果您正在编写一个可以同步(阻塞)方式处理每个请求的Web应用程序,那么事情就相当简单了 - 如果您需要编写“长轮询”应用程序,那么它会变得更复杂成千上万的同时连接,都在等待基于事件的响应。使用新的异步功能,C#5和VB 11将更加简单。
通常,线程更可能在层 lower 中创建,而不是表示层,可能作为单独的Windows服务运行,尽管可能仍在ASP.NET中运行的Web服务。然而,即使在那里,除非你真的需要它们,否则值得尝试避免多线程的复杂性。
“Rich”客户端应用程序(WPF,WinForms,Silverlight)很多更可能需要线程或至少某种形式的异步,因为他们需要保持UI线程可以自由处理UI事件,虽然他们可能有一些后台处理(无论是本地CPU绑定工作还是可能从磁盘或网络加载文件)。
答案 1 :(得分:2)
当你是编程新手时,这里有一个简化的事实:从不。您永远不必在ASP.NET中创建新线程。
当您获得更多经验时,您将学习高级技巧。
答案 2 :(得分:1)
如果您需要运行后台/单独(从应用程序)任务,您可能需要创建一个单独的线程(在应用程序边界之外),通常通过公共数据库完成集成。 在ASP.NET中通常使用在服务器上运行的服务来完成,例如向用户发送电子邮件通知的服务等。