我在门户网站上插入新闻,并在新闻插入数据库时向所有已注册的设备发送通知。我有这么多已注册的设备,所以我希望在后端发送这些通知,以便用户继续插入新闻,并且每个插入的新闻通知应排队并在后端发送。
目前我正在插入新闻,然后发送通知。现在的问题是,在所有通知发送过程完成之前,我无法插入其他新闻。 我的代码如下 -
public void InsertNews()
{
int newsId=insertNewsOnDb();
string msg="My Json String";
DataTable dt=getAllUsers();
foreach(DataRow dr in dt.Rows)// I want this process to run on backend so
{ // it does not affect the processing of
string gcmId=dr["GcmId"]; // inserting news.
sendPushNotification(gcmId,msg);
}
}
答案 0 :(得分:0)
如何分离发送通知和插入新闻的程序。但这意味着您需要在调用InsertNews()之前声明一个集合或列表变量。因此,每次调用InsertNews时,不是调用sendPushNotification,而是将新闻通知的集合添加到声明的列表中。然后在插入所需的新闻之后,添加代码以循环声明的列表以发送通知。
或使用多线程或异步。