1

我正在尝试使用 C# wiforms 开发应用程序。我只想void sendEmail(){}在互联网连接启动时在类中执行功能。我使用的方法是bool checkConnection(){}函数无限循环一个while循环并向google.com发送ping请求。如果 ping 成功,则该函数sendEmail(){}调用该checkConnection()函数。

但我知道这不是这样做的最佳做法。我对 C# 中的自定义事件感到非常困惑。如何使用自定义事件来完成此任务。期待一个简单解释的答案。

提前致谢

4

1 回答 1

1

我了解您正在尝试在 c# 中构建类似功能的调度程序任务。根据我的理解,Windows 服务会为您完成任务,例如监听 Internet 的可用性,然后在应用程序上线时执行邮件发送操作。

WRTo Events,您可以构建自己的事件引擎,该引擎在应用程序运行时引发应用程序事件,然后会有列出待处理任务的数据库条目。将有一个后台作业,如 Windows 服务,它读取数据库并根据 Internet 的可用性或在某些条件下执行该作业。

如果您可以更清楚地了解确切的用例以及到目前为止您所尝试的内容,那么社区可以为您提供更好的帮助。

示例类 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
    }
}
于 2016-02-28T11:20:06.020 回答