【发布时间】:2020-08-02 00:03:14
【问题描述】:
我想在系统关闭、注销或重新启动时发出 HTTP 请求。为此,我为SystemEvents.SessionEnded 事件实现了一个处理程序:
// 主要
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 请求有关。
【问题讨论】:
标签: c#