日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > C# >内容正文

C#

微信公众平台入门开发教程.Net(C#)框架

發布時間:2025/6/17 C# 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 微信公众平台入门开发教程.Net(C#)框架 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、序言

  一直在想第一次寫博客,應該寫點什么好?正好最近在研究微信公眾平臺開發,索性就記錄下,分享下自己的心得,也分享下本人簡單模仿asp.net運行機制所寫的通用的微信公眾平臺開發.Net(c#)框架吧。由于本人知識有限、文字組織能力有限,如有錯誤或不足,請多多指教!

二、微信公眾平臺.Net(C#)框架介紹

?

  運行流程:WeiXinRequestHandler.ashx接收微信服務器post請求,創建WeiXinApplication實例,構造函數中設置WeiContext(WeiXinRequest,WeiXinResponse)請求上下文屬性,執行WeiXinApplication的GetResponseXml()方法,使用WeiXinHandlerFactory工廠類動態加載程序集,遍歷程序集里的Type集合,反射獲取控制器中的WeiXinMsgType屬性值判斷是否與請求消息上下文WeiXinRequest的WeiXinMsgType屬性值一致創建相對應的消息處理控制器實例,并返回這個實例,賦值給WeiXinApplication中IWeiXinHandler屬性值,調用ProcessWeiXin(WeiXinContext context)方法,執行完畢后,返回WeiXinResponse對象中的響應消息。

三、微信公眾平臺注冊/接入相關事宜

1、注冊:

  填寫基本信息,激活郵箱,登記信息......公眾號信息。值得一提的是:目前個人只允許注冊訂閱號,公司單位才能注冊服務號,服務號可以實現自定義菜單;公眾號名稱一經確認就無法修改!

2、接入:(必須條件:擁有自己的公網可訪問的服務器)

?  ①、成為開發者:在公眾平臺網站的高級功能 – 開發模式頁,點擊“成為開發者”按鈕,根據官方文檔填寫相關接口配置信息并提交。

  ?②、驗證url有效性:開發者提交信息后,微信服務器將發送GET請求到填寫的URL上,GET請求攜帶四個參數:

?

參數描述
signature微信加密簽名,signature結合了開發者填寫的token參數和請求中的timestamp參數、nonce參數。
timestamp時間戳
nonce隨機數
echostr隨機字符串

?

 ?開發者通過檢驗signature對請求進行校驗(下面有校驗方式)。若確認此次GET請求來自微信服務器,請原樣返回echostr參數內容,則接入生效,成為開發者成功,否則接入失敗。

?

加密/校驗流程如下: 1. 將token、timestamp、nonce三個參數進行字典序排序 2. 將三個參數字符串拼接成一個字符串進行sha1加密 3. 開發者獲得加密后的字符串可與signature對比,標識該請求來源于微信

驗證工具類:UtilityHelper

     #region 檢查加密簽名是否一致 - public static bool CheckSignature(string signature, string timestamp, string nonce)/// <summary>/// 檢查加密簽名是否一致/// </summary>/// <param name="signature">微信加密簽名</param>/// <param name="timestamp">時間戳</param>/// <param name="nonce">隨機數</param>/// <returns></returns>public static bool CheckSignature(string signature, string timestamp, string nonce){List<string> stringList = new List<string> {Token, timestamp, nonce};// 字典排序stringList.Sort();return Sha1Encrypt(string.Join("", stringList)) == signature;}#endregion#region 對字符串SHA1加密 - public static string Sha1Encrypt(string targetString)/// <summary>/// 對字符串SHA1加密/// </summary>/// <param name="targetString">源字符串</param>/// <returns>加密后的十六進制字符串</returns>private static string Sha1Encrypt(string targetString){byte[] byteArray = Encoding.Default.GetBytes(targetString);HashAlgorithm hashAlgorithm = new SHA1CryptoServiceProvider();byteArray = hashAlgorithm.ComputeHash(byteArray);StringBuilder stringBuilder = new StringBuilder();foreach (byte item in byteArray){stringBuilder.AppendFormat("{0:x2}", item);}return stringBuilder.ToString();}#endregion#region 根據加密類型對字符串SHA1加密 - public static string Sha1Encrypt(string targetString, string encryptType)/// <summary>/// 根據加密類型對字符串SHA1加密/// </summary>/// <param name="targetString">源字符串</param>/// <param name="encryptType">加密類型:MD5/SHA1</param>/// <returns>加密后的字符串</returns>private static string Sha1Encrypt(string targetString, string encryptType){return FormsAuthentication.HashPasswordForStoringInConfigFile(targetString, encryptType);}#endregion

  

四、微信公眾平臺運行原理介紹

?

五、結束

  字窮了...~~~!附源碼吧。看web.config,打開Test.html進行測試。添加自己的消息控制器必須繼承WeiXinHandlerType,程序集生成插件目錄bin/WeiXinPlugins。

源碼下載:WeiXin.Framework

轉載于:https://www.cnblogs.com/GodX/p/3678651.html

《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀

總結

以上是生活随笔為你收集整理的微信公众平台入门开发教程.Net(C#)框架的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。