//响应微信平台推送消息 private void ResponseMsg(HttpContext httpContext, RequestParams requestParams) { BaseBLL weixin = null; IFactory factory = null; #region 通过微信类型生成对应的业务处理类 var application = new WApplicationInterfaceBLL(requestParams.LoggingSessionInfo); var appEntitys = application.QueryByEntity(new WApplicationInterfaceEntity() { WeiXinID = requestParams.WeixinId }, null); if (appEntitys != null && appEntitys.Length > 0) { var entity = appEntitys.FirstOrDefault(); BaseService.WriteLogWeixin("通过微信类型生成对应的业务处理类"); BaseService.WriteLogWeixin("WeiXinTypeId(微信类型): " + entity.WeiXinTypeId); switch (entity.WeiXinTypeId) { case WeiXinType.SUBSCRIPTION: factory = new SubscriptionFactory(); weixin = factory.CreateWeiXin(httpContext, requestParams); BaseService.WriteLogWeixin("订阅号"); break; case WeiXinType.SERVICE: factory = new ServiceFactory(); weixin = factory.CreateWeiXin(httpContext, requestParams); BaseService.WriteLogWeixin("服务号"); break; case WeiXinType.CERTIFICATION: //目前我们的客户一般是认证服务号,所以关注事件从这里查看 factory = new CertificationFactory(); weixin = factory.CreateWeiXin(httpContext, requestParams); BaseService.WriteLogWeixin("认证服务号"); break; case WeiXinType.SUBSCRIPTION_EXTEND: BaseService.WriteLogWeixin("可扩展订阅号"); break; case WeiXinType.SERVICE_EXTEND: BaseService.WriteLogWeixin("可扩展服务号"); break; case WeiXinType.CERTIFICATION_EXTEND: BaseService.WriteLogWeixin("可扩展认证服务号"); break; default: factory = new SubscriptionFactory(); weixin = factory.CreateWeiXin(httpContext, requestParams); BaseService.WriteLogWeixin("默认订阅号"); break; } } #endregion weixin.ResponseMsg();//根据消息类型,回应事件。有文本消息、图片消息、多客服、地理位置、事件 }