Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/wix/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
来自Web应用的.NET实时电子邮件通知_.net_<img Src="https://i.stack.imgur.com/6p2yP.png" Height="16" Width="18" Alt="" Class="sponsor Tag Img">azure_C#_Email_Azure_Real Time - Fatal编程技术网 azure,c#,email,azure,real-time,.net,azure,C#,Email,Azure,Real Time" /> azure,c#,email,azure,real-time,.net,azure,C#,Email,Azure,Real Time" />

来自Web应用的.NET实时电子邮件通知

来自Web应用的.NET实时电子邮件通知,.net,azure,c#,email,azure,real-time,.net,azure,C#,Email,Azure,Real Time,我有一个web应用程序,它在上运行并托管在中。我们允许out客户设置提醒/提醒,然后在他们登录后通过电子邮件发送给他们 我们如何将其转化为实时服务。IE:在数据库中设置的时间自动发送电子邮件。过去我会使用Windows服务,但我不太确定从哪里开始看。 < P>我不确定你的电子邮件通知是什么意思,而不是使用Windows服务考虑使用哪个是Azure中的电子邮件递送服务。 编辑: 对于触发器,您可以使用逻辑应用程序,因此每当数据库中添加新行时,您都可以发送电子邮件,请参见azure中的作业计划程序,

我有一个web应用程序,它在上运行并托管在中。我们允许out客户设置提醒/提醒,然后在他们登录后通过电子邮件发送给他们


我们如何将其转化为实时服务。IE:在数据库中设置的时间自动发送电子邮件。过去我会使用Windows服务,但我不太确定从哪里开始看。

< P>我不确定你的电子邮件通知是什么意思,而不是使用Windows服务考虑使用哪个是Azure中的电子邮件递送服务。 编辑:


对于触发器,您可以使用逻辑应用程序,因此每当数据库中添加新行时,您都可以发送电子邮件,请参见azure中的作业计划程序,它将帮助您运行作业或拨打服务电话,从而在计划的时间间隔内触发所有电子邮件。如果有,也可以安装任何windows作业

您可以查看,这是我在很多项目中使用过的调度器之一,应该能够完成您需要的任务。

我认为您需要的是在Azure WebJob中运行db检查和发送电子邮件任务:

使用Azure Webjobs,您可以根据需要运行后台任务,也可以通过WebJob调度程序以设定的间隔运行后台任务

更多链接可帮助您入门:


根据给定的要求。我的理解是,您希望在登录db时发送电子邮件。在我的申请中我也有同样的事情。 以下是实施它的先决条件

a、 )azure队列-将电子邮件添加到队列。但若您使用的是数据库,那个就可以了。在这种情况下,您可以将数据保存到db,并将该表的主键添加到队列消息中。因此,我们将从基于db的主键读取所有必需的数据

b、 )web作业sdk-我们使用它实时发送电子邮件。实际上,当任何项目添加到队列中时。web作业sdk自动触发事件。我们编写逻辑以在该事件中发送电子邮件

c、 )发送网格-然后我们将使用发送电子邮件

过程是这样的

任何电子邮件何时发送

1.)记录到数据库的日志与当前正在工作的日志相同

2.)向存储队列输入首要密钥

3.)作为添加到存储队列的条目。Web作业sdk事件触发器。在此事件中,我们将获得该db主键

4.)写入从数据库获取所有数据的方法

5.)使用发送网格发送该电子邮件

希望这对您有所帮助:)

Azure逻辑应用程序 选择1 您可以为客户设置的每个提醒创建作业,并使用SendGrid或其他内置电子邮件操作发送提醒。这种方法的好处是不需要在单独的数据库中维护计划时间的记录

选择2 您可以有一个逻辑应用程序在循环触发器上运行(例如,每分钟运行一次),第一个操作是运行SQL存储过程,以获取在未来几分钟内应发送的提醒,然后使用内置电子邮件操作发送电子邮件。这种方法的好处是,您可以将所有用户的数据保存在自己的数据库中(如果需要的话)

其他选择
您可能会从Azure上提供的多种服务中受益,以节省成本,具体取决于您将从客户那里看到多少工作/频率。例如,您可以使用Azure Scheduler为每个提醒安排一个作业,操作将是调用端点(端点甚至可以是另一个逻辑应用程序)来发送电子邮件。

我的意思是某种服务或作业正在不断检查数据库,以查看是否该向用户发送电子邮件。好的,我编辑了我的答案。但是,如果你能够修改你的业务逻辑,在特定的用例上发送电子邮件,而不是破坏你的数据库,我更愿意这样做。谢谢mate会检查它。这看起来更像是一种方式,你知道如果每1分钟运行一次会有什么样的性能吗?Webjobs在后台运行,不会对你的web应用程序造成性能影响。另一方面,您的db将被这两个应用程序使用,并可能导致web应用程序和webjob的性能下降(尽管我从未在较小的应用程序中遇到过此类问题。我还没有在高性能应用程序中尝试过,但肯定可以缓解)