C# 同时收取多个帐户费用的asp web应用程序

C# 同时收取多个帐户费用的asp web应用程序,c#,asp.net,sql-server,api,C#,Asp.net,Sql Server,Api,您好,我正在尝试制作一个asp web应用程序,它可以在注册用户收到电子邮件时向他们发送短信。我是一个编码新手,所以我想不出一个实用的方法来实现这一点 我想添加一个计时器,让它每5分钟检查一次sql数据库中的每个用户是否有新的东西,但如果我们有数百个用户,这会使应用程序变慢 我还想过在数据库中添加一个触发器并让它完成工作,但我找不到如何在VisualStudio中使用sql触发器,有什么想法可以帮助我吗 谢谢。我建议您拆分代码,将包含收件人和短信内容的消息放在一个队列中,然后创建一个单独的web

您好,我正在尝试制作一个asp web应用程序,它可以在注册用户收到电子邮件时向他们发送短信。我是一个编码新手,所以我想不出一个实用的方法来实现这一点

我想添加一个计时器,让它每5分钟检查一次sql数据库中的每个用户是否有新的东西,但如果我们有数百个用户,这会使应用程序变慢

我还想过在数据库中添加一个触发器并让它完成工作,但我找不到如何在VisualStudio中使用sql触发器,有什么想法可以帮助我吗


谢谢。

我建议您拆分代码,将包含收件人和短信内容的消息放在一个队列中,然后创建一个单独的webjob/服务,该服务将订阅到该队列中,并在有条目时发送短信

这为您提供了清晰的关注点分离,并且消除了对数据库进行轮询的需要

两个队列很好,很容易开始使用:

  • Azure存储队列
  • Azure服务总线队列
我想添加一个计时器,让它在sql中每5分钟检查一次 如果有新的内容,则为每个用户创建数据库,但这将使 应用程序运行缓慢,假设我们有数百个用户

为什么??因为我看不到。“慢”表示平均延迟2.5分钟。然后每分钟检查一次。平均延迟降低到30秒

我还想在数据库中添加一个触发器,让它来完成这项工作,但是 我找不到如何在VisualStudio中使用sql触发器,有什么好主意吗 帮帮我

寻找触发器?学习你的工具。认真地但我个人会用触发器解雇任何人,然后调用外部程序发送短信-数据库不是你想要的地方

想快点吗?使用触发器将消息写入MessageBroker(在SQLServer中,由于未阅读文档,您可能不知道它是一个子系统)

让你的应用程序有一些线程在那里等待消息。有一种特殊的语法可以等待消息到达


瞧,案子结案了。

I“很抱歉,我不太确定我是否理解了你的意思,我只是在阅读有关azure存储队列的内容,但我不知道如何有效地使用它,以及为什么要添加其他组件,而不是使用sql server执行相同的操作?在你的应用程序中,每当发生让你想发送短信的事情时,只需将该消息放入队列中即可。然后,在用户端,您所要做的就是收听这些消息并在SMS中传输内容。哪一部分不清楚?很抱歉,我清楚地说我是一个初学者,我很感激你的批评,但你并没有让它变得更容易,我仍然可以“我不知道如何纠正你指出的错误。嗯,初学者和懒得在文档中查找术语之间有很大的区别。第一个我帮助,第二个我冲刷。你有没有从头到尾阅读过这些文档?因为这是初学者应该做的。