介绍

当普通微信用户向公众账号发消息时,微信服务器将POST消息的

代码实现

1、接收参数。

var postModel = GetPostModel(request);

2、验证签名。

if (!CheckSignature.Check(postModel.Signature, postModel.Timestamp, postModel.Nonce, Token)) { return new HttpResponseMessage { Content = new StringContent(“参数错误!”) }; }

3、数据处理。

[HttpPost] [ActionName(“CallBack”)] public HttpResponseMessage HandleMsgFromWeChat(HttpRequestMessage request) { try { var postModel = GetPostModel(request); if (!CheckSignature.Check(postModel.Signature, postModel.Timestamp, postModel.Nonce, Token)) { return new HttpResponseMessage { Content = new StringContent(“参数错误!”) }; } string request.Content.ReadAsStringAsync().Result; string domain = BqoolWebSite.WebSiteMapping[BqoolWebSiteType.BigCRMWebService][CommonSetting.GetEnvironmentMode()]; string url = domain + “/api/WeChat/Process”; var data = new Process= “WeChat”, UpdateUser = “WeChat”, Date = DateTime.UtcNow.ToUnixTimestamp(), Action = BaseRequestParam.ActionType.Add, = “WeChat Process”); var result = HttpTools.EncryptPost