이 글은 주로 모든 사람들이 C#WeChat 개발 지침에 대한 자세한 소개를 사용하도록 작성되었습니다. 관심 있는 친구들이 참고할 수 있습니다.
헛소리 하기 싫으니 그냥 직접 가세요 글! 에세이는 여러분의 몫이니까 보시고 욕하진 말아주세요...
1. 위챗 공개계정이 있어야 합니다
2. 위챗 테스트 계정도 신청 가능합니다 , 링크가 제공됩니다http://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=sandbox/login
그런 다음 mvc를 생성하세요. 몇 번의 클릭만으로 VS를 다운로드하면 완료됩니다. 말도 안되는 소리는 아니네요
다음은 일반 핸들러를 만들어서 아무렇게나 이름을 지어주고, 테스트 통과가 관건이니 서둘러주세요...
/// <summary> /// 验证微信签名 /// </summary> /// <returns></returns> /// * 将token、timestamp、nonce三个参数进行字典序排序 /// * 将三个参数字符串拼接成一个字符串进行sha1加密 /// * 开发者获得加密后的字符串可与signature对比,标识该请求来源于微信。 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 = { token, timestamp, nonce }; Array.Sort(ArrTmp); //字典排序 var tmpStr = string.Join("", ArrTmp); tmpStr = FormsAuthentication.HashPasswordForStoringInConfigFile(tmpStr, "SHA1");//加密方式 if (tmpStr.ToLower() == signature) { return true; } return false; }
이 코드는 WeChat 공식 계정의 [개발] - [기본 구성]에서 작성한 토큰과 일대일 토큰 통신 핸드셰이크에 해당합니다. 끝났어!
마무리는 일은 나중에 할 일이니 계속해서 글을 써주세요!
어떻게 구성해야 할까요? 먼저 땅콩 껍질만 사용해 테스트하면 됩니다. 적어도 오랫동안 플레이한 후에는 작동하는지 알아야 합니다!
아래 사진을 보세요: 왼쪽 땅콩 껍질 구성 ----- 오른쪽 iis 웹사이트 퍼블리싱 바인딩
이 사진을 보세요. 또한 다음 단계의 플레이 방법도 이해합니다. 로컬 iis에는 도메인 이름이 장착되어 있습니다. 존나 짱이네...
아래. 코드를 추가합니다. 보내기 및 자동 응답 테스트를 설정하여
#region 接收消息 /// <summary> /// 接收微信发送的XML消息并且解析 /// </summary> private void ReceiveXml() { var requestStream = HttpContext.Current.Request.InputStream; var requestByte = new byte[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) return; var wxXmlModel = new WxXmlModel { ToUserName = rootElement.SelectSingleNode("ToUserName").InnerText, FromUserName = rootElement.SelectSingleNode("FromUserName").InnerText, CreateTime = rootElement.SelectSingleNode("CreateTime").InnerText, MsgType = rootElement.SelectSingleNode("MsgType").InnerText }; switch (wxXmlModel.MsgType) { case "text"://文本 wxXmlModel.Content = rootElement.SelectSingleNode("Content").InnerText; break; case "image"://图片 wxXmlModel.PicUrl = rootElement.SelectSingleNode("PicUrl").InnerText; break; case "event"://事件 wxXmlModel.Event = rootElement.SelectSingleNode("Event").InnerText; if (wxXmlModel.Event != "TEMPLATESENDJOBFINISH")//关注类型 { wxXmlModel.EventKey = rootElement.SelectSingleNode("EventKey").InnerText; } break; default: break; } 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); break; case "event": switch (WxXmlModel.Event) { case "subscribe": if (string.IsNullOrEmpty(WxXmlModel.EventKey)) { XML = ResponseMessage.GetText(WxXmlModel.FromUserName, WxXmlModel.ToUserName, "关注成功"); } else { XML = ResponseMessage.SubScanQrcode(WxXmlModel.FromUserName, WxXmlModel.ToUserName, WxXmlModel.EventKey);//扫描带参数二维码先关注后推送事件 } break; case "SCAN": XML = ResponseMessage.ScanQrcode(WxXmlModel.FromUserName, WxXmlModel.ToUserName, WxXmlModel.EventKey);//扫描带参数二维码已关注 直接推送事件 break; } break; default://默认回复 break; } HttpContext.Current.Response.Write(XML); HttpContext.Current.Response.End(); } #endregion
를 재생할 수 있는지 확인하세요. 위의 항목은 전송 중이고 다른 하나는 수신 중이거나 WhApi에서 .ashx 처리기 파일 . 나는 단지 분명히 하고 싶다, 하하!
퍼블릭 플랫폼과의 악수가 성공했으니, 뭔가를 보내야겠죠~~
아래 그림은 수신 방법과 자동 매칭 응답 파일의 연관성을 보여줍니다. 아래 설명을업로드해 주세요!
아직 하나의 구성이 누락되었습니다. 즉, VS를 설정하는 것입니다. [디버그]----[프로세스에 연결] , 다음 항목만 추가하면 됩니다. [모든 사용자 프로세스 표시]를 선택하면 w3wp.exe를 찾을 수 있습니다. 이러한 프로세스가 여러 개인 경우에도 [사용자 이름] 열을 확인하고 동일한 항목을 선택해야 합니다. 프로그램 풀로 이름을 지정하고 확인을 클릭한 후 첨부를 확인하세요!
다음. 재밌네요…………………………………………………
WeChat의 테스트 공개 계정을 스캔하고 맞춤 메시지를 보내서 어떤 답글이 있는지 확인하세요. 지루한 구성은 중단점을 추가하여 디버깅할 수 있습니다. 그렇지 않으면 그렇게 많은 작업을 수행할 필요가 없습니다. 그렇죠? 전송 및 수신이 자신의 설정과 일치하는지 확인하면 괜찮습니다.
위 내용은 C# WeChat 개발 지침 사용 소개의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

PhpStorm 맥 버전
최신(2018.2.1) 전문 PHP 통합 개발 도구

에디트플러스 중국어 크랙 버전
작은 크기, 구문 강조, 코드 프롬프트 기능을 지원하지 않음

Atom Editor Mac 버전 다운로드
가장 인기 있는 오픈 소스 편집기

드림위버 CS6
시각적 웹 개발 도구

MinGW - Windows용 미니멀리스트 GNU
이 프로젝트는 osdn.net/projects/mingw로 마이그레이션되는 중입니다. 계속해서 그곳에서 우리를 팔로우할 수 있습니다. MinGW: GCC(GNU Compiler Collection)의 기본 Windows 포트로, 기본 Windows 애플리케이션을 구축하기 위한 무료 배포 가능 가져오기 라이브러리 및 헤더 파일로 C99 기능을 지원하는 MSVC 런타임에 대한 확장이 포함되어 있습니다. 모든 MinGW 소프트웨어는 64비트 Windows 플랫폼에서 실행될 수 있습니다.
