国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

Heim WeChat-Applet WeChat-Entwicklung C# implementiert den Auftakt zur WeChat-Entwicklung

C# implementiert den Auftakt zur WeChat-Entwicklung

Feb 13, 2017 am 11:13 AM

Ich will keinen Unsinn reden, schreib ihn einfach! Weil es Ihnen überlassen bleibt, Aufs?tze zu schreiben, also beschweren Sie sich bitte nicht, wenn Sie es sehen...

1. Sie müssen über ein ?ffentliches WeChat-Konto verfügen

2. Das k?nnen Sie Beantragen Sie auch ein WeChat-Testkonto. Der Link wird Ihnen angezeigt http://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=sandbox/login

Dann erstellen Sie MVC , Sie müssen nur ein paar Mal klicken und vs erledigt das für Sie. Das ist kein Unsinn

Als n?chstes müssen Sie einen allgemeinen Handler erstellen, ihm beil?ufig einen Namen geben, das Bestehen des Tests ist der Schlüssel, beeilen Sie sich ...

///?<summary>
????????///?驗證微信簽名????????
????????///?</summary>
????????///?<returns></returns>
????????///?*?將token、timestamp、nonce三個參數(shù)進(jìn)行字典序排序????????
????????///?*?將三個參數(shù)字符串拼接成一個字符串進(jìn)行sha1加密????????
????????///?*?開發(fā)者獲得加密后的字符串可與signature對比,標(biāo)識該請求來源于微信。
????????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;
????????}

Dieser Code entspricht einem Eins-zu-eins-Token-Kommunikations-Handshake mit dem Token, den Sie in [Entwicklung] – ?[Grundkonfiguration] des offiziellen WeChat-Kontos geschrieben haben. Solange sie kommunizieren miteinander, dann bist du fertig!

Es ist etwas, das sp?ter erledigt werden muss, es gibt noch viel zu tun, wischen Sie es ab und schreiben Sie weiter!

Wie konfiguriere ich es? Ich kann es nur mit Erdnussschalen testen, nachdem ich es lange gespielt habe.

Sehen Sie sich das Bild unten an: Erdnussschalenkonfiguration links ----- iis-Website-Publishing-Bindung rechts

C#實現(xiàn)微信開發(fā)前奏

Nachdem Sie dieses Bild gesehen haben, werden Sie verstehen, wie der n?chste Schritt ausgeführt wird. Der lokale IIS ist mit einem Dom?nennamen ausgestattet. Das ist so gro?artig...

unten. Wir fügen Code hinzu. Richten Sie Sende- und automatische Antworttests ein und prüfen Sie, ob Sie

?#region?接收消息????????///?<summary>
????????///?接收微信發(fā)送的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")//關(guān)注類型????????????????????????{
????????????????????????????wxXmlModel.EventKey?=?rootElement.SelectSingleNode("EventKey").InnerText;
????????????????????????}????????????????????????break;????????????????????default:????????????????????????break;
????????????????}

????????????????ResponseXML(wxXmlModel);//回復(fù)消息????????????}
????????}????????#endregion

????????#region?回復(fù)消息????????private?void?ResponseXML(WxXmlModel?WxXmlModel)
????????{????????????var?QrCodeApi?=?new?QrCodeApi();????????????var?XML?=?"";????????????switch?(WxXmlModel.MsgType)
????????????{????????????????case?"text"://文本回復(fù)
????????????????????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,?"關(guān)注成功");
????????????????????????????}????????????????????????????else
????????????????????????????{
????????????????????????????????XML?=?ResponseMessage.SubScanQrcode(WxXmlModel.FromUserName,?WxXmlModel.ToUserName,?WxXmlModel.EventKey);//掃描帶參數(shù)二維碼先關(guān)注后推送事件????????????????????????????}????????????????????????????break;????????????????????????case?"SCAN":
????????????????????????????XML?=?ResponseMessage.ScanQrcode(WxXmlModel.FromUserName,?WxXmlModel.ToUserName,?WxXmlModel.EventKey);//掃描帶參數(shù)二維碼已關(guān)注?直接推送事件
????????????????????????????break;
????????????????????}????????????????????break;????????????????default://默認(rèn)回復(fù)
????????????????????break;
????????????}
????????????HttpContext.Current.Response.Write(XML);
????????????HttpContext.Current.Response.End();
????????}????????#endregion

spielen k?nnen. Das obige sendet und das andere empf?ngt, immer noch im WhApi. Ashx-Handler-Datei. Ich m?chte es nur klarstellen, haha!

Da Ihr Handshake mit der ?ffentlichen Plattform erfolgreich war, müssen Sie etwas zum Ausprobieren senden, richtig~~

Das Bild unten zeigt die Zuordnung zwischen einer Empfangsmethode und einer automatisch passenden Antwortdatei I werde diese Datei bald hochladen!

C#實現(xiàn)微信開發(fā)前奏

Es fehlt noch eine Konfiguration, n?mlich die Einstellung [Debug] ---- [An Prozess anh?ngen] für vs, nur für Sie Sie müssen Folgendes ?ndern: [Alle anzeigen Wenn Sie ein Element unter ?Benutzerprozess“ markieren, finden Sie w3wp.exe. Wenn es mehrere solcher Prozesse gibt, müssen Sie noch die Spalte ?Benutzername“ best?tigen und den mit demselben ausw?hlen Geben Sie den Namen als Ihren Programmpool ein, klicken Sie auf ?OK“, klicken Sie auf ?Anh?ngen“ und dann auf ?Angeh?ngt!“.

Weiter. Es macht Spa?…………………………………………………………………

Scannen Sie das ?ffentliche Testkonto auf WeChat und senden Sie eine individuelle Nachricht, um zu sehen, welche Antworten es gibt Es gibt sie, die obige mühsame Konfiguration kann durch Hinzufügen von Haltepunkten debuggt werden, sonst macht es keinen Sinn, so viel zu tun, oder? Stellen Sie einfach sicher, dass das Senden und Empfangen mit Ihren eigenen Einstellungen übereinstimmt, dann ist es in Ordnung.

Das ist es......es ist fertig.

Weitere C#-Implementierungen des WeChat-Entwicklungsvorspiels und verwandte Artikel finden Sie auf der chinesischen PHP-Website!

Erkl?rung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Hei?e KI -Werkzeuge

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem v?llig kostenlosen KI-Gesichtstausch-Tool aus!

Hei?e Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Hei?e Themen

PHP-Tutorial
1502
276