如何使用c#开发微信

  介绍

这篇文章主要介绍如何使用c#开发微信,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

1。必须有微信公众账号
2。你也可以申请测试微信号,链接给你http://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=沙箱/登录
然后,建立mvc,你只需要点几下vs就帮你搞定了。这不废话
接着,要创建一个一般处理程序,随便起个名字,测试通过才是重点,抓紧时间……

///, & lt; summary>   ,///验证微信签名   ,///& lt;/summary>   ,///& lt; returns> & lt;/returns>   ,///*,将牌,时间戳,现时标志三个参数进行字典序排序   ,///*,将三个参数字符串拼接成一个字符串进行sha1加密   ,///*,开发者获得加密后的字符串可与签名对比,标识该请求来源于微信。   ,private  bool  CheckSignature ()   ,{   ,var  token =,“token",,   ,var  signature =, HttpContext.Current.Request.QueryString (“signature");   ,var  timestamp =, HttpContext.Current.Request.QueryString (“timestamp");   ,var  nonce =, HttpContext.Current.Request.QueryString (“nonce");   ,var  echostr =, HttpContext.Current.Request.QueryString (“echostr");   ,string [] ArrTmp =,{,令牌,时间戳,nonce };   ,Array.Sort (ArrTmp);,//字典排序   ,var  tmpStr =, string.Join (““,, ArrTmp);=,,tmpStr  FormsAuthentication.HashPasswordForStoringInConfigFile (tmpStr,“SHA1");//加密方式      ,if  (tmpStr.ToLower(),==,签名)   ,{   ,return 真实;   ,}   ,return 假;   以前,}

这代码相当于是跟微信公众号中【开发】——》【基本配置】里面你所写的令牌一个一对一令牌通信握的手,只要互相通了,那么你就算是搞定了!

搞定是后话,还有工作没做完,接着写!
怎么配置,这是问题,哎只能用花生壳给测试先,至少要知道玩了半天是不是通的!
看下图:左边花生壳配置——右边iis网站发布绑定

如何使用c#开发微信“> <br/> </p> <p>看到这图,你也明白下一步怎么玩了吧。本地iis配上了域名。这简直屌爆了…………<br/>下面。我们加上代码。设置发送和自动回复测试,看看能不能玩<br/> </p> <pre类=, # region 接收消息   ,///& lt; summary>   ,///接收微信发送的XML消息并且解析   ,///& lt;/summary>   ,private  void  ReceiveXml ()   ,{   ,var  requestStream =, HttpContext.Current.Request.InputStream;   ,var  requestByte =, new 字节(requestStream.Length);   ,requestStream.Read (requestByte, 0,, (int) requestStream.Length);   ,var  requestStr =, Encoding.UTF8.GetString (requestByte);      (!,if  string.IsNullOrEmpty (requestStr))   ,{   ,//封装请求类   ,var  requestDocXml =, new  XmlDocument ();   ,requestDocXml.LoadXml (requestStr);   ,var  rootElement =, requestDocXml.DocumentElement;   ,if  (rootElement ==, null),返回;   ,var  wxXmlModel =new  WxXmlModel   ,{   时间=ToUserName 才能;rootElement.SelectSingleNode .InnerText (“ToUserName"),   时间=FromUserName 才能;rootElement.SelectSingleNode .InnerText (“FromUserName"),   时间=CreateTime 才能;rootElement.SelectSingleNode .InnerText (“CreateTime"),   时间=MsgType 才能;rootElement.SelectSingleNode .InnerText (“MsgType")   ,};      ,switch  (wxXmlModel.MsgType)   ,{   case 才能“text"://文本   时间=wxXmlModel.Content 才能;rootElement.SelectSingleNode (“Content") .InnerText;   打破才能;   case 才能“image"://图片   时间=wxXmlModel.PicUrl 才能;rootElement.SelectSingleNode (“PicUrl") .InnerText;   打破才能;   case 才能“event"://事件   时间=wxXmlModel.Event 才能;rootElement.SelectSingleNode (“Event") .InnerText;   if 才能;(wxXmlModel.Event  !=,“TEMPLATESENDJOBFINISH")//关注类型   {才能   时间=wxXmlModel.EventKey 才能;rootElement.SelectSingleNode (“EventKey") .InnerText;   ,,}   打破才能;   默认值:才能   打破才能;   ,}      ,ResponseXML (wxXmlModel);//回复消息   ,}   ,}   ,# endregion      ,# region 回复消息   ,private  void  ResponseXML (WxXmlModel  WxXmlModel)   ,{   ,var  QrCodeApi =, new  QrCodeApi ();   ,var  XML =,““   ,switch  (WxXmlModel.MsgType)   ,{   ,case “text"://文本回复   时间=XML 才能;ResponseMessage.GetText (WxXmlModel.FromUserName, WxXmlModel.ToUserName,, WxXmlModel.Content);   打破才能;   ,case “event":   switch 才能;(WxXmlModel.Event)   {才能   case 才能“subscribe":   if 才能;(string.IsNullOrEmpty (WxXmlModel.EventKey))   {才能   时间=XML 才能;ResponseMessage.GetText (WxXmlModel.FromUserName, WxXmlModel.ToUserName,,“关注成功“);   ,,}   其他的才能   {才能   时间=XML 才能;ResponseMessage.SubScanQrcode (WxXmlModel.FromUserName, WxXmlModel.ToUserName,, WxXmlModel.EventKey);//扫描带参数二维码先关注后推送事件   ,,}   打破才能;   null   null   null   null   null   null   null   null   null   null   null   null

如何使用c#开发微信