这篇文章主要介绍如何使用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网站发布绑定, # 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#开发微信