Heim  >  Artikel  >  WeChat-Applet  >  Einführung in die asp.net-Zugriffsmethode für die WeChat-Entwicklung

Einführung in die asp.net-Zugriffsmethode für die WeChat-Entwicklung

高洛峰
高洛峰Original
2017-03-20 13:41:261678Durchsuche

Wir werden die öffentliche WeChat-Plattform entwickeln, und der erste Schritt besteht natürlich darin, ein öffentliches Konto zu haben. Was? Ich weiß nicht, was ein offizielles WeChat-Konto ist, aber es scheint, als müsste man zuerst wieder üben, haha. Laienhaft ausgedrückt ist unsere WeChat-Plattform wie eine große Gesellschaft mit einzelnen Menschen und verschiedenen Organisationen.

Wenn Sie WeChat entwickeln möchten, müssen Sie zunächst einen Server haben, aber Sie haben keinen. Zu diesem Zeitpunkt können Sie Erdnussschalen verwenden, um das Intranet dem öffentlichen Netzwerk zuzuordnen, sodass Sie über das öffentliche Netzwerk auf Ihre Website zugreifen können.

Dann müssen Sie einen Zugangscode schreiben, und nur PHP ist ein Beispiel für WeChat. Im Anhang finden Sie ein Beispiel für asp.net.

Erstellen Sie zunächst eine Default.aspx. Checken Sie Page_Load ein: (MyLog ist eine Protokollklasse, die ignoriert werden kann) In Bezug auf checkSignature() ist es fast dasselbe wie das, was Sie gefunden haben. Posten Sie es hier

 MyLog.DebugInfo("request default.aspx");
 String echoStr = Request.QueryString["echostr"];
 MyLog.DebugInfo("echoStr:"+echoStr);
 if (this.checkSignature())
 {
 if(!string.IsNullOrEmpty(echoStr)){
 MyLog.DebugInfo("echostr:" + echoStr);
 Response.Write(echoStr);
 Response.End();
 }
 
 }

Das Wichtigste ist der Satz Response.End(). Wenn Sie diesen Satz nicht hinzufügen, können Sie ihn nicht verbinden (ich hoffe, jemand kann es mir sagen). In Bezug auf checkSignature() ist es fast dasselbe wie das, was ich gefunden habe. Ich werde

private bool checkSignature()
{
 
 string signature = Request["signature"];
 string timestamp = Request["timestamp"];
 string nonce = Request["nonce"];
 MyLog.DebugInfo(String.Format("signature:{0},timestamp:{1},nonce:{2}", signature, timestamp, nonce));
 string token = TOKEN;
 string[] tmpArr = new string[] { token, timestamp, nonce };
 Array.Sort(tmpArr);
 string tmpStr = string.Join("", tmpArr);
 //sha1加密
 System.Security.Cryptography.SHA1 sha1 = new System.Security.Cryptography.SHA1CryptoServiceProvider();
 byte[] secArr = sha1.ComputeHash(System.Text.Encoding.Default.GetBytes(tmpStr));
 tmpStr = BitConverter.ToString(secArr).Replace("-", "").ToLower();
 MyLog.DebugInfo(String.Format("after parse:{0}", tmpStr));
 if (tmpStr == signature)
 {
 MyLog.DebugInfo("true");
 return true;
 }
 else
 {
 return false;
 }
}

hier hauptsächlich wegen des Response.End()-Problems posten, das mich dazu veranlasst hat, lange daran zu arbeiten. Ich möchte es hier aufzeichnen , in der Hoffnung, jedem zu helfen, der es kann.

Es besteht eine weitere Möglichkeit, dass die Token-Verifizierung aufgrund des WeChat-Servers fehlgeschlagen ist. Klicken Sie einfach noch zweimal. ! !

Das obige ist der detaillierte Inhalt vonEinführung in die asp.net-Zugriffsmethode für die WeChat-Entwicklung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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