我想在 Windows Phone 8 上的 ScheduledTaskAgent 中使用 JavaScript 库。我们在移动平台上使用这个库,因此我们不必编写它的 N 个版本。
我以为我可以使用 ScheduledTaskAgent 中的 WebBrowser 来做到这一点,但如果我在 Dispatcher.BeginInvoke 和 System.UnauthorizedAccess 异常之外执行此操作,我会遇到跨线程问题(声称我需要 ID_CAP_WEBBROWSERCOMPONENT 尽管有我的应用程序的 WMAppManifest.xml) 在 Dispatcher.BeginInvoke 内部时,如下所示:
static ScheduledAgent()
{
// Subscribe to the managed exception handler
Deployment.Current.Dispatcher.BeginInvoke(delegate
{
Application.Current.UnhandledException += UnhandledException;
client = new WebBrowser();
client.NavigateToString("<html><body><script src='https://...path to library...'/></body></html>");
});
}
有没有人成功地做过这样的事情?我不敢相信我是第一个想要从 Windows Phone 上的后台计划任务运行 JavaScript 的人。