gpt4 book ai didi

c# - ASP.NET 网站需要多线程吗?

转载 作者:行者123 更新时间:2023-11-30 22:26:40 24 4
gpt4 key购买 nike

我正在构建一个简单的 ASP.NET 网站,它将通过第 3 方 SMS API(通过 URL 推送)接收 SMS,然后该网站将通过向发件人发回 SMS 来确认发件人.我正在将传入的 SMS 保存在数据库中。我已经实现了如下逻辑:

public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
//declaring variables to be used elsewhere, but in this same class. I have just this one class.
//Grabbing the URL parameters here (contents of SMS).
//Saving SMSes in the database. Database interaction happening only inside Page_Load.
//Call these functions
SomeLogicFunction();
SendSMSFunction();
}

SomeLogicFunction()
{
}

SendSMSFunction()
{
}
}

现在,我在某处读到 ASP.NET 负责处理多线程和类似方面。那么,如果我有一个像这样的简单网站,我需要处理多线程吗?或者 Page_Load 函数/ASP.NET 几乎可以自动处理它?

如果答案是我不需要做任何事情,那就太棒了!但是如果我必须处理多线程,你能帮忙提供一些关于我应该如何处理的提示吗?我预计会有几千条短信。

谢谢。

最佳答案

默认情况下,对于传入的每个请求,ASP.NET 都会获取一个线程池线程,为您的 Page 类创建一个新实例,然后在该线程上调用适当的 Page_Load 和事件函数。它将同时使用多个线程处理多个请求。请注意,您在 static 成员和字段中的任何状态都已正确共享和同步。当然,尽可能避免共享状态。

如果已经处理了足够多的请求,ASP.NET 和 IIS 将开始拒绝请求,因此请确保您的处理时间足够快。如果遇到瓶颈,您可以增加并行发生的请求数。如果您的负载真的很高(比如说每秒数百个请求),您可以使用异步 API 进一步增加运行中请求的数量。但当然,从简单开始,您可能会没事。

关于c# - ASP.NET 网站需要多线程吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11663038/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com