前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >如何在 C# 平台调用云开发?

如何在 C# 平台调用云开发?

原创
作者头像
腾讯云开发TCB
发布2019-12-31 13:05:16
1.7K0
发布2019-12-31 13:05:16
举报

▌关于作者

苏震巍,云开发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 追加如下内容:

代码语言:txt
复制
//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 命名空间):

代码语言:txt
复制
services.AddSenparcWeixinServices(Configuration);
//Senparc.Weixin 注册

完整方法代码:

在 Configure() 方法中添加两个参数,自动引入 appsettings.json 中的配置:IOptionssenparcSetting, IOptionssenparcWeixinSetting,完整代码:

在方法体末尾追加代码:

代码语言:txt
复制
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(),添加如下代码,即可调用云函数相关的接口:

代码语言:txt
复制
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 呢?

源码链接

https://github.com/TencentCloudBase/Good-practice-tutorial-recommended

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 源码链接
相关产品与服务
云开发 CloudBase
云开发(Tencent CloudBase,TCB)是腾讯云提供的云原生一体化开发环境和工具平台,为200万+企业和开发者提供高可用、自动弹性扩缩的后端云服务,可用于云端一体化开发多种端应用(小程序、公众号、Web 应用等),避免了应用开发过程中繁琐的服务器搭建及运维,开发者可以专注于业务逻辑的实现,开发门槛更低,效率更高。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档