# Can't seem to make URL request from ElapsedEventHandler

## Main Question or Discussion Point

I've spent 10+ hours on trying to solve this and can't get it to work!

In short, I have a method

Code:
        private async void LoadAndSavePage(object source, ElapsedEventArgs e)
{
// ...
}
which is being called every 1 second when the Windows Service that contains it is running. I've confirmed that it is indeed being called; I can verify with

Code:
        private async void LoadAndSavePage(object source, ElapsedEventArgs e)
{
EventLog.WriteEntry("I got called!");
}
However, as soon as I try to get a web page, for example

Code:
        private async void LoadAndSavePage(object source, ElapsedEventArgs e)
{
EventLog.WriteEntry(html);
}
it doesn't work. The function gets called as scheduled but it never gets to the point where it writes to the event log. Something about introducing a web request messes it up. I'm guessing maybe some type of permissions issue?

I've tried with several libraries including .NET's WebClient and HtmlAgilityPack's HtmlWeb, I've tried with different URLs, etc.

I know it doesn't have to do with the event having a maximum resolution time, for I've also tried

Code:
        private async void LoadAndSavePage(object source, ElapsedEventArgs e)
{
EventLog.WriteEntry("before sleep");
EventLog.WriteEntry("after sleep");
}
and confirmed that the whole thing runs.

Last edited by a moderator:

Related Programming and Computer Science News on Phys.org
Mark44
Mentor
However, as soon as I try to get a web page, for example

Code:
        private async void LoadAndSavePage(object source, ElapsedEventArgs e)
{
}