CustomThirdPartyMessageHandler.cs 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using Senparc.Weixin.Open;
  6. using Senparc.Weixin.Open.MessageHandlers;
  7. using System.IO;
  8. using Senparc.Weixin.MP.Sample.CommonService.Utilities;
  9. using Senparc.Weixin.Open.Entities.Request;
  10. namespace Senparc.Weixin.MP.Sample.CommonService.ThirdPartyMessageHandlers
  11. {
  12. public class CustomThirdPartyMessageHandler : ThirdPartyMessageHandler
  13. {
  14. public CustomThirdPartyMessageHandler(Stream inputStream, PostModel encryptPostModel)
  15. : base(inputStream, encryptPostModel)
  16. { }
  17. public override string OnComponentVerifyTicketRequest(RequestMessageComponentVerifyTicket requestMessage)
  18. {
  19. var openTicketPath = Server.GetMapPath("~/App_Data/OpenTicket");
  20. if (!Directory.Exists(openTicketPath))
  21. {
  22. Directory.CreateDirectory(openTicketPath);
  23. }
  24. //RequestDocument.Save(Path.Combine(openTicketPath, string.Format("{0}_Doc.txt", DateTime.Now.Ticks)));
  25. //记录ComponentVerifyTicket(也可以存入数据库或其他可以持久化的地方)
  26. using (TextWriter tw = new StreamWriter(Path.Combine(openTicketPath, string.Format("{0}.txt", RequestMessage.AppId))))
  27. {
  28. tw.Write(requestMessage.ComponentVerifyTicket);
  29. tw.Flush();
  30. tw.Close();
  31. }
  32. return base.OnComponentVerifyTicketRequest(requestMessage);
  33. }
  34. public override string OnUnauthorizedRequest(RequestMessageUnauthorized requestMessage)
  35. {
  36. //取消授权
  37. return base.OnUnauthorizedRequest(requestMessage);
  38. }
  39. }
  40. }