Я хотел бы сделать HTTP-запрос при выключении системы, выходе из системы или перезагрузке. Для этого я реализовал обработчик для события SystemEvents.SessionEnded
:
// main
Microsoft.Win32.SystemEvents.SessionEnded += new SessionEndedEventHandler(Shutdown.ProcessExit);
// Класс отключения
public static void ProcessExit(object sender, EventArgs e){
File.WriteAllText("path","ProcessExit fired")
string jsonString = "{}";
string url= "localurl";
using (var client = new HttpClient()){
StringContent stringContent = new StringContent(jsonString, Encoding.UTF8, "application/json");
var result = await client.PostAsync(url, stringContent);
}
}
К моему удивлению, запрос http никогда не срабатывает, как видно из журналов доступа к серверу. Как правильно подать запрос HTTP, когда компьютер выключен? Я могу подтвердить, что событие происходит, потому что запись в ProcessExit успешна, поэтому проблема связана исключительно с выполнением http-запроса.