我正在尝试使用C#wiforms开发应用程序。我想只在互联网连接启动时才在类中执行void sendEmail(){}
功能。我使用的方法是bool checkConnection(){}
函数无限循环while循环并将ping请求发送到google.com。如果ping成功,sendEmail(){}
函数将调用checkConnection()
函数。
但我知道这不是这样做的最佳做法。我对C#中的自定义事件非常困惑。如何使用自定义事件来完成此任务。希望通过简单的解释得到答案。
提前致谢
答案 0 :(得分:1)
我知道您正在尝试在c#中构建类似功能的调度程序任务。根据我的理解,Windows服务将为您执行任务,例如在监听互联网可用性时,然后在应用程序上线时执行邮件发送操作。
W.R.To Events,您可以构建自己的事件引擎,在应用程序运行时引发应用程序事件,然后会有列出待处理任务的数据库条目。将有一个后台工作,如Windows服务,读取数据库,并根据互联网的可用性或在某些条件下执行作业。
如果您可以更清楚确切的用例以及您到目前为止所尝试的内容,社区可以更好地帮助您。
样品 class Observable { 公共事件ImageUploadeventHandler InternetcOnnected;
public void DoSomething()
{
ImageUploadeventHandler handler = InternetcOnnected;
if (handler != null)
{
handler(this, EventArgs.Empty);
}
}
}
class Observer
{
public void HandleEvent(object sender, EventArgs args)
{
// upload the image to the online service
}
}