我编写了一个 C# Winform 应用程序,它在没有用户输入的情况下执行任务,我想按计划运行这个程序(例如,每天凌晨 1 点)。我想在 Azure 上设置程序,以便它在云上运行。
到目前为止,我已经在 Azure Webjobs(Azure Web Apps 下的一项服务)中成功运行了 C# 控制台应用程序,并且这些应用程序运行良好,但是如果我尝试上传并运行 Winform,我会收到错误消息:
[03/03/2016 17:27:12 > 252553: ERR ] Unhandled Exception: System.Runtime.InteropServices.COMException: Error HRESULT E_FAIL has been returned from a call to a COM component.
[03/03/2016 17:27:12 > 252553: ERR ] at System.Windows.Forms.UnsafeNativeMethods.IWebBrowser2.Navigate2(Object& URL, Object& flags, Object& targetFrameName, Object& postData, Object& headers)
[03/03/2016 17:27:12 > 252553: ERR ] at System.Windows.Forms.WebBrowser.PerformNavigate2(Object& URL, Object& flags, Object& targetFrameName, Object& postData, Object& headers)
[03/03/2016 17:27:12 > 252553: ERR ] at System.Windows.Forms.WebBrowser.set_Url(Uri value)
[03/03/2016 17:27:12 > 252553: ERR ] at WebBrowserTest.Form1.InitializeComponent()
[03/03/2016 17:27:12 > 252553: ERR ] at WebBrowserTest.Form1..ctor()
[03/03/2016 17:27:12 > 252553: ERR ] at WebBrowserTest.MainStartup.Main()
[03/03/2016 17:27:12 > 252553: SYS INFO] Status changed to Failed
在日志中。在代码中,错误特别是在我尝试调用 webBrowser.Navigate 函数的地方。
Uri uri = new Uri("https://www.website.com");
webBrowser1.Navigate(uri);
URL 本身是绝对正确的,当我在我的桌面上运行它时它可以工作,但我猜想在 C# Webbrowser 中更改 URL 是行不通的。
所以我的问题是,什么 Azure 服务可以让我按计划运行 winform?如果不是 Azure,我会选择亚马逊或其他一些服务。(我不想拥有自己的专用物理计算机来运行这个程序。谢谢。