|
Rank: Advanced Member Groups: Member
Joined: 1/15/2015 Posts: 48
|
Hello eo_support,
We have an odd issue we can't get to the bottom of regarding the first webview URL load failing. I believe the issue went unreported on our side, so I can't yet tell you what version EO this started on. But the issue seems more apparent in the latest version. I also can't seem to reproduce it in a standalone project yet. So we are looking for some direction on what it could be.
Symptoms: Upon starting the application we instantiate a webview with a URL and it does not load. No LoadComplete event is triggered. No UrlChange event is triggered. No LoadFailed event is triggered. Using Fiddler to look at network traffic, no web request is made. Calling webView.Reload() after the failure will successfully load, and then we see a LoadFailed event triggered for the previous URL with ErrorMessage: The request was canceled. ErrorCode: Canceled We are using a PreloadTask to preload the webview, and we see the preload is completing, and yet its not loading anything.
Oddly, when we remove the PreloadTask it seems the first load succeeds on the first webview, but if a second webview is created the first load fails (sometimes will instantly show ErrorCode canceled in LoadFailed event). If a third webview is created when the second webview is in fail state, it also doesn't load the first url. If I refresh any one of the webviews that are in a failed state it will start working, and the other web view will instantly reload and start working without manual intervention.
Any input on how to debug this, and what might be causing this, is appreciated. It's likely something we are doing wrong, or doing out of order, since we can't get it to happen on a clean project. Just not sure what at this point.
Thanks
|
|
Rank: Administration Groups: Administration
Joined: 5/27/2007 Posts: 24,206
|
Hi,
We have sent a test build to you through private message. Please let us know if you still see problems with that build. If the problem continues, we will need a repro project in order to investigate further.
Thanks!
|
|
Rank: Advanced Member Groups: Member
Joined: 1/15/2015 Posts: 48
|
Hi eo_support,
Apologies for the delayed response. Unfortunately, the test build didn't resolve the issue. I spent some more time trying to narrow down the issue with no luck, but some clues. It almost seems like a race condition is taking place during EO.WebEngine startup and first webview load. I was somewhat able to trigger the issue on and off by simply commenting out some initialization procedures we do before creating any forms with webviews. Altering the application startup time seemed to affect the issue.
These init procedures have no relation to the web browser at all, just some registry and file system checks. There are some simple API requests made via System.Net.WebClient but that should not have any impact right? No single init procedure would resolve the issue when commented out (even when all were commented out). I got it to a state where if a certain number of init procedures were commented out the issue happens less, but if I uncomment just one more init procedure (doesn't matter which one) the issue would come back, like some type of event horizon.
I will try my best to get a test project, but it seems maybe the issue might manifest differently on different machines of different speeds.
|
|
Rank: Advanced Member Groups: Member
Joined: 1/15/2015 Posts: 48
|
Almost forgot to mention that we also noticed sometimes the webview will successfully load and display the web page, but not trigger the LoadComplete or LoadFailed events.
|
|
Rank: Administration Groups: Administration
Joined: 5/27/2007 Posts: 24,206
|
KSystems wrote:Almost forgot to mention that we also noticed sometimes the webview will successfully load and display the web page, but not trigger the LoadComplete or LoadFailed events. The test build actually supposes to fix specifically this issue. However it does appear what you experienced is some kind of racing issues that really doesn't have to do with what your init procedure actually does, but have to do with the timing of things (for example, how much your init procedure takes). In any case, if you managed to produce an repro please send it over and we will look into it right away.
|
|