我目前正在开发一个程序,它将一个Web应用程序与运行在Web服务器上的第三方客户端应用程序相连接。该应用程序正在作为网络和第三方应用程序之间的连接。每一个请求都会进入我的“连接器”应用程序。多线程事件处理请求
该应用程序是一个Windows窗体应用程序(因为第三方应用程序也是一个...不要问我为什么...),并且需要始终打开。打破应用程序的一切看起来像这样:
private void Form1_Load(object sender, EventArgs e)
{}
private void UserEvent(UserEvent e, long threadID)
{
load();
}
UserEvent()被网络触发。触发后,数据将从第三方应用程序加载,然后“返回”。这些请求可能需要3秒钟。现在,没有任何问题,因为我是唯一使用此连接的人。为了使它成为多线程,我现在需要执行load();在另一个线程中,以防在应用程序仍在为非常用户加载数据时触发UserEvent。
现在我的问题:你会建议我使用什么?线程或背景工作者? 即使我在另一个线程中完成整个加载,UserEvent()是否仍然有两个用户在同一时间触发UserEvent()的可能性,导致应用程序崩溃?
任何建议赞赏