微信公眾號開發C#系列-3、搭建微信本地調試環境-借助花生殼實現內網穿透

概述
通過前兩篇文章的學習, 我們已經對微信的開發有了一個全新的認識,知道了整個開發的流程。由于微信開發所需要的中間服務器必須部署在外網上,作為每一個剛學習微信開發的開發者可能都有通過寫日志來查看微信開發過程中遇到的問題。這種方式不得不說不僅浪費時間而且非常的麻煩,在微信開發過程中有沒有一種類似我們平時開發時調試這樣方便呢?答案是肯定的。通過本文的學習我相信你定能掌握這種方便的方法而進行輕松又愉快的開發。
在看后面的內容之前我們先來學習一個概念,什么叫內網穿透?內網穿透,又叫NAT(Network Address Translation)穿透,別看名字比較拽,按照NAT的字面意思解釋,其實就是做了一次網絡地址的轉換。接下來,我們通俗地講一下到底什么是內網穿透。
假設小區局域網的主機名為A,一臺具備公網IP的主機名為B。通常情況下,A能直接ping通B,而B由于不知道主機A的確定IP地址,或者A的實際地址本就是一個局域網地址,因而無法主動聯系上A。
不過,既然A能主動聯系上B,那么是否可以先讓A聯系B,然后持續保持聯系,在保持聯系的過程中B不就能隨時“主動”聯系A了嗎?沒錯,內網穿透的核心思想正是這個意思。
內網穿透常用在讓任何地方都能訪問自己家里的筆記本上的應用,讓局域網的服務器可以被任何地方訪問到。要實現內網穿透的工具很多,如:Ngrok、Ssh、autossh、Natapp、Frp、Lanproxy、Spike、花生殼。這么多工具如何選?通過我的比較,在國內優先選擇花生殼或Natapp。本文主要以花生殼為例講述如何借助花生殼實現內網穿透來進行微信開發過程中的調試。
上面的概念性東西講了這么多,下面我們正式進入今天的主題。
準備工作
首先我們在花生殼的官網下載花生殼內網穿透工具,花生殼官網https://www.oray.com/,下載后按提示安裝,安裝的詳細過程這兒就不闡述了。 安裝完成后,需要注冊一個賬號。新注冊的賬號可能會沒有免費使用的權限,但是官網是可以申請到資格的,請自行申請。登陸后,界面如下:

在上面的主界面中我們單擊“我的域名“打開花生殼后臺管理工具,如下圖所示:

在上面的主界面中可以看到已經增加的域名,我們還可以單擊后面的”域名診斷“來檢測域名的狀態。
單擊左側的”內網穿透“,增加一個映射,如我們增加的:

這兒需要特別說明的是微信要求的中間服務器必須指向80端口,這兒一定要注意。
我們增加的映射列表如下:

現在花生殼配置完成,接上一篇我們開發的微信接收信息的頁面,我們可以用花生殼給我們分配的域名訪問一下確定成功否,如下圖所示:

接下來我們就可以進行IIS的配置與VS的調試工具了。
本地IIS映射配置
打開IIS管理工具,添加一個網站,主機名就是花生殼為我們分配的域名,端口設置為80,注意一般IIS安裝后默認的網站已經指向了80端口,這兒添加會提示端口已被占用,可以先去停用默認的網站再在兒這添加即可。這兒特別要注意的一點就是添加網站時”物理路徑“一定要指向我們VS項目所在的這個WEB項目路徑。不需要用VS發布網站,直接指向項目所在的目錄即可。

添加成功后我們可以看一下綁定信息。

網站添加成功后我們可以試著訪問一下,確定添加的成功性,訪問成功就可以進入下面的內容。
VS調試微信應用
在進行調試狀態前我們還需要確定我們在上一篇文章“微信公眾平臺接入指南”中的微信接口配置信息是否正確,如下圖所示:
在接口配置信息中的URL已經設定為我們花生殼分配的域名了。

通過上面的步驟,我們現在就可以正式進入VS調試微信應用了。使用管理員方式啟動VS后打開微信應用。打開目標網站屬性,選擇web,IIS方式選外部托管,如下圖:

然后在vs中選擇菜單欄中的【調試】->【附加到進程】,或者按Control+Alt+P組合快捷鍵打開附加到進程窗口,如下圖:

打開附加到進程窗口如下圖,在下圖中要選中”顯示所有用戶進程“復選框,在”可用進程”列表中找到w3wp.exe進程,點擊附加按鈕,進入即可進入調試。

下面就是讓微信服務器調用我們的服務了。在微信公眾號接入的時候,需要get請求到開發者的服務器,所以,這里使用接入url進行演示。在瀏覽器中輸入接口配置信息中的URL,一切正常即可進入調試狀態,如下圖所示:


通過上面的詳細介紹,我相信大家應該對微信開發如何調試有了一個全面的認識,并能應用到實際工作中。接下來我們就可以進入全面的微信開發之中了。
參考文章
RDIFramework.NET — 基于.NET的快速信息化系統開發框架 — 系列目錄
RDIFramework.NET ━ .NET快速信息化系統開發框架 ━ 工作流程組件介紹
RDIFramework.NET框架SOA解決方案(集Windows服務、WinForm形式與IIS形式發布)-分布式應用
RDIFramework.NET代碼生成器全新V3.5版本發布-重大升級
一路走來數個年頭,感謝RDIFramework.NET框架的支持者與使用者,大家可以通過下面的地址了解詳情。
RDIFramework.NET官方網站:http://www.rdiframework.net/
RDIFramework.NET官方博客:http://blog.rdiframework.net/
同時需要說明的,以后的所有技術文章以官方網站為準,歡迎大家收藏!
RDIFramework.NET框架由專業團隊長期打造、一直在更新、一直在升級,請放心使用!
歡迎關注RDIFramework.net框架官方公眾微信(微信號:guosisoft),及時了解最新動態。
掃描二維碼立即關注

作者:
RDIF
出處:
http://www.rzrgm.cn/huyong/
Email:
406590790@qq.com
QQ:
406590790
微信:
13005007127(同手機號)
框架官網:
http://www.guosisoft.com/
http://www.rdiframework.net/
框架其他博客:
http://blog.csdn.net/chinahuyong
http://www.rzrgm.cn/huyong
國思RDIF開發框架
,
給用戶和開發者最佳的.Net框架平臺方案,為企業快速構建跨平臺、企業級的應用提供強大支持。
關于作者:系統架構師、信息系統項目管理師、DBA。專注于微軟平臺項目架構、管理和企業解決方案,多年項目開發與管理經驗,曾多次組織并開發多個大型項目,在面向對象、面向服務以及數據庫領域有一定的造詣。現主要從事基于
RDIF
框架的技術開發、咨詢工作,主要服務于金融、醫療衛生、鐵路、電信、物流、物聯網、制造、零售等行業。
如有問題或建議,請多多賜教!
本文版權歸作者和CNBLOGS博客共有,歡迎轉載,但未經作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文連接,如有問題,可以通過微信、郵箱、QQ等聯系我,非常感謝。

通過前兩篇文章的學習, 我們已經對微信的開發有了一個全新的認識,知道了整個開發的流程。由于微信開發所需要的中間服務器必須部署在外網上,作為每一個剛學習微信開發的開發者可能都有通過寫日志來查看微信開發過程中遇到的問題。這種方式不得不說不僅浪費時間而且非常的麻煩,在微信開發過程中有沒有一種類似我們平時開發時調試這樣方便呢?答案是肯定的。通過本文的學習我相信你定能掌握這種方便的方法而進行輕松又愉快的開發。
在看后面的內容之前我們先來學習一個概念,什么叫內網穿透?內網穿透,又叫NAT(Network Address Translation)穿透,別看名字比較拽,按照NAT的字面意思解釋,其實就是做了一次網絡地址的轉換。接下來,我們通俗地講一下到底什么是內網穿透。
浙公網安備 33010602011771號