如何在 C# 平台调用云开发?
▌關于作者
蘇震巍,云開發Linker計劃成員,《微信開發深度解析》作者、Senparc.Weixin 微信 SDK 作者、微軟最有價值專家(MVP)、盛派網絡創始人兼首席架構師、微軟 Ignite 技術大會講師、從事軟件及互聯網研發已有26年,發布了中國第一個HTML5商業應用,主持了眾多大型項目的架構、開發和集成,對物聯網、大數據和人工智能相關技術有深入的實踐和理解,已為30余家世界 500 強企業提供解決方案和技術支持。
我一直在關注微信生態開發領域和云開發,看到有不少開發者需要服務端 SDK,在服務端調用云開發的數據庫和函數,便在我自己的 SDK 中加入了相關的能力,幫助更多的開發者開發出更好的應用
▌關于 SDK
Senparc.Weixin SDK 是目前使用率最高的微信 C#/.NET SDK,包括了微信公眾號、小程序、開放平臺、微信支付、企業微信、微信硬件平臺等幾乎全套接口。Senparc.Weixin SDK 也是目前 GitHub 綜合排名第一的中國 .NET 開源項目。項目同時兼容多版本的.NET Framework、.NET Standard 和 .NET Core,具備企業級系統集成的所有要素:支持容災降級和熱切換的分布式緩存策略、日志系統、AccessToken 全生命周期管理模塊、消息上下文模塊、消息隊列模塊、加解密算法模塊,以及全套同步/異步方法。
▌使用教程-上手說明
使用 Senparc.Weixin SDK 開發項目可以參考現有的官方 Demo,其中包括了大部分常用的功能演示,且支持不同 .NET 版本 https://github.com/JeffreySu/WeiXinMPSDK/tree/master/Samples。
以下以使用 .NET Core 開發的小程序為例,開發一個可以調用騰訊云的云函數接口的項目。
1.初始化一個項目
使用 Visual Studio 或 Visual Studio Code 創建一個 ASP.NET Core 項目,并配置項目的基礎信息
選擇具體的項目模板
看到這里,就說明你完成了項目的初始化
2.安裝 SDK
鼠標點擊【WeChatCloudFunction.Web】項目右鍵,選擇【管理Nuget程序包...】
在 Nuget 管理窗口內,【瀏覽】標簽下,搜索:Senparc.Weixin.WxOpen
注意:如需開發公眾賬號,則搜索 Senparc.Weixin.MP,以下操作以小程序為例,僅命名空間不同,對應功能的開發過程對于公眾號(MP)、企業微信(Work)是完全一致的,可以舉一反三。
3.配置 Senparc.Weixin 框架
在使用 Senparc.Weixin SDK 之間,還有兩步基礎的配置工作。
除了使用以下手動配置的方式,也可以參考現成的 Demo 直接復制對應代碼:https://url.cn/5vUHVMF。
3.1 配置 appsetting.json
在 appsetting.json 追加如下內容:
//CO2NET?設置"SenparcSetting":?{"IsDebug":?true,"DefaultCacheNamespace":?"DefaultCache",//分布式緩存"Cache_Redis_Configuration":?"#{Cache_Redis_Configuration}#",?//Redis配置"Cache_Memcached_Configuration":?"#{Cache_Memcached_Configuration}#",?//Memcached配置"SenparcUnionAgentKey":?"#{SenparcUnionAgentKey}#"},//Senparc.Weixin?SDK?設置"SenparcWeixinSetting":?{//微信全局"IsDebug":?true,//小程序"WxOpenAppId":?"#{WxOpenAppId}#","WxOpenAppSecret":?"#{WxOpenAppSecret}#","WxOpenToken":?"#{WxOpenToken}#","WxOpenEncodingAESKey":?"#{WxOpenEncodingAESKey}#"}其中, WxOpenAppId 和 WxOpenAppSecret 的字符串值(包括#{}#占位符)替換為小程序后臺的值,如,將"#{WxOpenAppId}#" 替換為:"wx12b4f63276b14d4c"。
WxOpenToken 和 WxOpenEncodingAESKey 對應于對話消息管理的 Token 和 EncodingAESKey 參數,如果僅開發高級接口,可以忽略。
3.2 配置 startup.cs
在 ConfigureServices() 方法中追加代碼(可以使用自動提示 using 命名空間):
services.AddSenparcWeixinServices(Configuration); //Senparc.Weixin?注冊完整方法代碼
在 Configure() 方法中添加兩個參數,自動引入 appsettings.json 中的配置:IOptionssenparcSetting, IOptionssenparcWeixinSetting,完整代碼:
在方法體末尾追加代碼:
app.UseSenparcGlobal(env,?senparcSetting.Value,?null,?true) .UseSenparcWeixin(senparcWeixinSetting.Value, weixinRegister?=> {weixinRegister.RegisterWxOpenAccount(senparcWeixinSetting.Value, "【云函數】小程序"); });其中第一行代碼是配置啟用 CO2NET(Senparc.Weixin 的一個基礎庫)全局配置,第二行代碼開始配置 Senparc.Weixin SDK 及小程序參數。
完整代碼:
在 startup.cs 中添加以上3段代碼,就可以開始使用所有微信的高級接口了。
4.調用小程序云開發的云函數
高級接口可以在任意地方出發,這里為了方便演示,我們將其放置在首頁中。
打開 Controllers/HomeController.cs,創建一個新的 Action 方法 Api(),添加如下代碼,即可調用云函數相關的接口:
var?wxOpenSetting?= Senparc.Weixin.Config.SenparcWeixinSetting.WxOpenSetting; var?envId=?"senparc-robot-5f5128"; var?result?=?Senparc.Weixin.WxOpen.AdvancedAPIs.Tcb.TcbApi.DatabaseCollectionGet(wxOpenSetting.WxOpenAppId, envId); return?Content(result.ToJson(true));其中,wxOpenSetting 是通過 startup.cs 中代碼自動進行了全局配置的全套小程序配置參數,evnId 是云函數的環境ID,可以通過以下方式獲取到:
打開小程序開發工具,點擊【云開發】按鈕
在新窗口中點擊【設置】按鈕
即可在右上角看到“環境ID(Environment ID)”。
完整代碼:
啟動項目后,即可看到默認的首頁:
訪問新建的頁面/Home/Api,即可看到成功獲得到接口結果:
▌其他
演示項目地址:https://github.com/Senparc/WeChatCloudFunction/tree/master
▌關于 Linker 計劃
Linker計劃,是云開發推出的,面向開源作者和開源團隊的開源協調合作計劃,旨在共建良好的云開發開源生態,為【云開發者】提供更多便利好用的開源SDK、案例或適配軟件。
Linker計劃,鼓勵開源項目提供云開發版本或內建云開發支持,云開發將助力合作開源項目成長。如果有興趣,可以發送您的開源項目、希望和云開發的合作方式等信息到 cloudbase@tencent.com
云開發目前已有兩個不同語言的社區 SDK:Golang 和 C#, 除了這兩門語言,你還期待什么語言 SDK 呢?
?
?更多精彩?
點擊下方圖片即可閱讀
? ? ? 點擊在看讓更多人發現精彩
總結
以上是生活随笔為你收集整理的如何在 C# 平台调用云开发?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 关于C#异步编程你应该了解的几点建议
- 下一篇: 如何打造组织级敏捷,你想知道的都在这里!