配置文件
csharp
private static string url = ConfigurationManager.AppSettings["WxWorkBOTUrl"].ToString().Trim();
启动发送
csharp
/// <summary>
/// 初始加载
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void MainFrm_Load(object sender, EventArgs e)
{
InitMethod();
projectName = BasicDAL.GetProject();
this.Text = $"【{projectName}】发票自动识别程序--{DbHelperSQL.connectionString}";
WxWorkBOT.SendMess("Hi,我是**电子发票服务机器人 ,提醒:**电子发票服务已启动!");
}
异常退出
csharp
/// 应用程序的主入口点。
/// </summary>
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.ThreadException += Application_ThreadException;
Application.SetUnhandledExceptionMode(UnhandledExceptionMode.CatchException);
AppDomain.CurrentDomain.UnhandledException += CurrentDomain_UnhandledException;
Application.ApplicationExit += Application_ApplicationExit;
Application.Run(new MainFrm());
}
private static void Application_ApplicationExit(object sender, EventArgs e)
{
WxWorkBOT.SendMess("Hi,我是**电子发票服务机器人 ,提醒:**电子发票服务已断开!!!");
}
static void CurrentDomain_UnhandledException(object sender, UnhandledExceptionEventArgs e)
{
try
{
WxWorkBOT.SendMess("Hi,我是**电子发票服务机器人 ,提醒:**合电子发票服务已断开!!!");
}
catch { }
}
private static void Application_ThreadException(object sender, System.Threading.ThreadExceptionEventArgs e)
{
Process[] ps = Process.GetProcessesByName("AutoInvoiceFXLH");
if (ps.Length < 1)
{
WxWorkBOT.SendMess("Hi,我是**电子发票服务机器人 ,提醒:**电子发票服务已断开!!!");
}
}
}
csharp
using Newtonsoft.Json;
using System.Configuration;
using System.IO;
using System.Net;
using System.Text;
namespace Common
{
public class WxWorkBOT
{
private static string url = ConfigurationManager.AppSettings["WxWorkBOTUrl"].ToString().Trim();
public static void SendMess(string mse,string connUrl = null)
{
try
{
var jsonObject = new { msgtype = "text", text = new { content = mse } };
PostUrl((connUrl == null? url: connUrl), JsonConvert.SerializeObject(jsonObject));
}
catch (System.Exception)
{
}
}
/// <summary>
/// 普通的post
/// </summary>
/// <param name="url"></param>
/// <param name="postData"></param>
/// <returns></returns>
public static string PostUrl(string url, string postData)
{
string result = "";
HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url);
req.Method = "POST";
req.ContentType = "application/json";
byte[] data = Encoding.UTF8.GetBytes(postData);
req.ContentLength = data.Length;
using (Stream reqStream = req.GetRequestStream())
{
reqStream.Write(data, 0, data.Length);
reqStream.Close();
}
HttpWebResponse resp = (HttpWebResponse)req.GetResponse();
Stream stream = resp.GetResponseStream();
//获取响应内容
using (StreamReader reader = new StreamReader(stream, Encoding.UTF8))
{
result = reader.ReadToEnd();
}
return result;
}
}
}