国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - C# - C#微信開發第一章

C#微信開發第一章

2021-12-01 14:38WORTLIU C#

這篇文章主要為大家詳細介紹了C#微信開發第一章,很有參考價值和實用性,感興趣的小伙伴們可以參考一下

不想廢話,直接寫了!因為是留給自己做隨筆的,所以大神們看到別噴……
 1.必須有微信公眾賬號
 2.你也可以申請測試微信號,鏈接給你 http://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=sandbox/login
然后,建立mvc,你只需要點幾下vs就幫你搞定了。這不廢話
接著,要創建一個一般處理程序,隨便起個名字,測試通過才是重點,抓緊時間…… 

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
/// <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;
 }

這代碼相當于是跟微信公眾號中【開發】--》【基本配置】里面你所寫的token 一個一對一令牌通信握手,只要互相通了,那么你就算是搞定了!

搞定是后話,還有工作沒做完,接著寫!
怎么配置,這是問題,哎只能用花生殼給測試先,至少要知道玩了半天是不是通的!
看下圖:左邊花生殼配置-----右邊iis網站發布綁定 

C#微信開發第一章

看到這圖,你也明白下一步怎么玩了吧。本地iis配上了域名。這簡直屌爆了…………
 下面。我們加上代碼。設置發送和自動回復測試,看看能不能玩

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
#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處理程序文件里面。我就想說清楚,呵呵!
 因為你根公眾平臺握手成功了,你肯定要發點東西過去試試對吧~~
下圖是一個接收方法和一個自動匹配回復文件的關聯,別急下面我會上傳這個文件!
 

C#微信開發第一章

 還缺一個配置,就是vs要設置【調試】----【附加到進程】,只需要把下面【顯示所有用戶進程】一項打勾,你就能找到w3wp.exe 如果有多個這樣的進程,那你還是要確認【用戶名】那一列,選中跟你程序池名稱一樣的就ok,點附加,確定附加! 
接下來。好玩了…………………………………………………………
 微信掃一掃那個測試公眾號,發一條自定義消息,看看有什么回復,上面的繁瑣配置,可以加斷點調試的,不然搞那么多也沒意義是吧,看看發送和接收跟你自己設定的吻合,那就ok了。 
就這樣…………寫完了。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持服務器之家。

延伸 · 閱讀

精彩推薦
  • C#WPF 自定義雷達圖開發實例教程

    WPF 自定義雷達圖開發實例教程

    這篇文章主要介紹了WPF 自定義雷達圖開發實例教程,本文介紹的非常詳細,具有參考借鑒價值,需要的朋友可以參考下...

    WinterFish13112021-12-06
  • C#C#實現XML文件讀取

    C#實現XML文件讀取

    這篇文章主要為大家詳細介紹了C#實現XML文件讀取的相關代碼,具有一定的參考價值,感興趣的小伙伴們可以參考一下...

    Just_for_Myself6702022-02-22
  • C#Unity3D實現虛擬按鈕控制人物移動效果

    Unity3D實現虛擬按鈕控制人物移動效果

    這篇文章主要為大家詳細介紹了Unity3D實現虛擬按鈕控制人物移動效果,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一...

    shenqingyu060520232410972022-03-11
  • C#C#裁剪,縮放,清晰度,水印處理操作示例

    C#裁剪,縮放,清晰度,水印處理操作示例

    這篇文章主要為大家詳細介紹了C#裁剪,縮放,清晰度,水印處理操作示例,具有一定的參考價值,感興趣的小伙伴們可以參考一下...

    吳 劍8332021-12-08
  • C#C# 實現對PPT文檔加密、解密及重置密碼的操作方法

    C# 實現對PPT文檔加密、解密及重置密碼的操作方法

    這篇文章主要介紹了C# 實現對PPT文檔加密、解密及重置密碼的操作方法,非常不錯,具有參考借鑒價值,需要的朋友可以參考下...

    E-iceblue5012022-02-12
  • C#C#設計模式之Visitor訪問者模式解決長隆歡樂世界問題實例

    C#設計模式之Visitor訪問者模式解決長隆歡樂世界問題實例

    這篇文章主要介紹了C#設計模式之Visitor訪問者模式解決長隆歡樂世界問題,簡單描述了訪問者模式的定義并結合具體實例形式分析了C#使用訪問者模式解決長...

    GhostRider9502022-01-21
  • C#C#通過KD樹進行距離最近點的查找

    C#通過KD樹進行距離最近點的查找

    這篇文章主要為大家詳細介紹了C#通過KD樹進行距離最近點的查找,具有一定的參考價值,感興趣的小伙伴們可以參考一下...

    帆帆帆6112022-01-22
  • C#深入解析C#中的交錯數組與隱式類型的數組

    深入解析C#中的交錯數組與隱式類型的數組

    這篇文章主要介紹了深入解析C#中的交錯數組與隱式類型的數組,隱式類型的數組通常與匿名類型以及對象初始值設定項和集合初始值設定項一起使用,需要的...

    C#教程網6172021-11-09
主站蜘蛛池模板: 99爱精品在线 | 亚洲精品视频在线观看免费视频 | 欧美精品一区视频 | 中文字幕在线电影观看 | 亚洲国产成人在线 | 自拍偷拍在线视频 | 四虎影院入口 | 99久久夜色精品国产网站 | 欧美日韩亚洲成人 | 欧美久久精品一级黑人c片 成人在线视频免费观看 | 欧美高清一区二区 | 午夜成人在线视频 | 色爱欧美 | 国产一级特黄aaa大片 | 久久蜜桃精品一区二区三区综合网 | 日韩中文字幕视频在线 | 日韩在线成人 | 欧美午夜精品久久久久久人妖 | 成人在线免费观看 | 中文av电影| 一区二区国产在线观看 | 日本v在线观看 | 亚洲欧美在线播放 | 日本韩国欧美一区 | 激情欧美一区二区三区中文字幕 | 欧美日韩精品一区二区三区 | 久久久久久91亚洲精品中文字幕 | 亚洲一区精品在线 | 综合在线视频 | 久久久免费视频播放 | 色偷偷888欧美精品久久久 | 精品视频久久 | 欧美日本亚洲 | 久久不卡| 久久成人久久爱 | 久青草视频 | 免费精品人在线二线三线区别 | 国产精品福利电影网 | 欧美精品在线一区二区三区 | 亚洲国产精品免费在线观看 | 婷婷综合激情 |