Я написал приложение C# Winform, которое выполняет задачу без ввода пользователя, и я хочу запустить эту программу по расписанию (например, каждый день в 1 час ночи). Я хочу настроить программу на Azure, чтобы она работала на облаке.Как запустить C# Winform в Azure по расписанию?
До сих пор, я успешно запускать приложения C# консоли в Azure Webjobs (сервис под Azure Web Apps) и тех, кто работает хорошо, но если я пытаюсь загрузить и запустить 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 является абсолютно правильным, и она работает, когда я запускаю его на моем рабочем столе, но я думаю, что-то об изменении URL-адресов в C# Webbrowser не работает.
Так что мой вопрос в том, что служба Azure позволит мне запустить winform по расписанию? И если не Лазурь, я возьму Амазонку или какую-нибудь другую услугу. (Я не хочу иметь свой собственный выделенный физический компьютер, чтобы запустить эту программу Благодаря
Маркировка вашего основного метода с '[STAThread ] 'может помочь. –
Любопытно, почему вы пытаетесь открыть браузер из Интернета Job - нет пользовательского интерфейса, к которому вы сможете получить доступ. –
можете ли вы конвертировать приложение в консольное приложение? Я не думаю, что Winform будет работать –