当前位置:首页 » 编程软件 » 云函数能反编译吗

云函数能反编译吗

发布时间: 2023-03-24 01:09:24

A. 腾讯云函数不支持C#

C#语言由于需要编译后才可以在 CoreCLR 虚拟机中运行。因此在 SCF 中的使用方式,和 python、Node.js 这类脚本型语言不同,和Java一样有如下限制:

  • 不支持上传代码:使用 C# 语言,仅支持上传已经开发完成,编译打包后的 zip 包。SCF 环境不提供 C# 的编译能力。

  • 不支持在线编辑:不能上传代码,所以不支持在线编辑代码。CoreCLR 运行时的函数,在代码页面仅能看到再次通过页面上传或 COS 提交代码的方法。

  • 自定义.NET Custom runtime

    Custom Runtime的封装工作就是要把各种trigger 的事件封装一个.NET Standard库,开发云函数。自 .NET Core 2.0 开始, 提供了名为IHostedService的新接口,有助于轻松实现托管服务,文章《ASP.NET Core 3.x控制IHostedService启动顺序浅探》有深入的实现分析,基于IHostedService实现一个SCFHostService:

    这里我们把SCF的Custom Runtime 抽象到ISCFHost 中

    在SCFHost 类中完成Custom Runtime的业务处理,接收来自SCF 的事件,转发给函数进行处理,函数处理的接口 IFunctionInvoker:

    默认实现了FunctionInvoker 把请求信息 返回给 SCF:

    responseBody 代表了SCF函数的不同Trigger事件信息,我们可以根据不同的Trigger 定义不同的处理函数,例如我们处理HttpTrigger的函数为HttpFunctionInvoker:

    上面我们已经完成了最小的MVP封装,利用.NET Core的依赖注入容器封装起来,我们定义了一个ISCFBuilder 来组装函数的配置和服务:

    SCF 云函数开发

    我们使用.NET Core的控制台程序来开发云函数,创建一个控制台程序, 引用Yhd.TencentCloud.SCF 包,把Program.cs 替换成类似代码:

    using Microsoft.Extensions.Configuration;
    using Microsoft.Extensions.DependencyInjection;
    using Microsoft.Extensions.Hosting;
    using Microsoft.Extensions.Logging;
    using System.Threading.Tasks;
    using Yhd.FindJob;
    using Yhd.TencentCloud.SCF.Executors;

    public class Index
    {
    static async Task Main(string[] args)
    {
    var builder = new HostBuilder()
    .ConfigureSCF((context, scfbuilder) =>
    {
    var configuration = scfbuilder.Configuration;

    scfbuilder.Services.AddFindJob(configuration);
    scfbuilder.Services.AddEasyCaching(options =>
    {
    options.UseInMemory();
    //use redis cache that named redis
    options.UseRedis(configuration)
    .WithJson()
    ;
    });
    scfbuilder.Services.AddTransient<IFunctionInvoker, JobsHttpFunctionInvoker>();

    })
    .UseConsoleLifetime();

    var host = builder.Build();

    using (host)
    {
    await host.RunAsync();
    }

    }
    }

    通过ConfigureSCF 可以添加函数的依赖服务,例如上面例子中的EasyCaching 以及函数的服务, 关键的一句是 scfbuilder.Services.AddTransient<IFunctionInvoker, JobsHttpFunctionInvoker>(); 把函数的处理逻辑使用JobsHttpFunctionInvoker 进行注入。把函数的配置放到appsettings.json。

    现在SCF 云函数有个问题是本地Windows开发问题,本地的函数逻辑的测试可以通过单元测试进行。还有函数打包必须在linux环境下进行。

    云函数部署

    创建 bootstrap 文件

    bootstrap 是运行时入口引导程序文件,Custom Runtime 加载函数时固定检索 bootstrap 同名文件,并执行该程序来启动 Custom Runtime 运行时。Custom Runtime 支持任意语言及版本开发运行函数,主要基于 bootstrap 引导程序由开发者自定义实现。其中,bootstrap 需具备以下条件:

  • 需具有可执行权限。

  • 能够在 SCF 系统环境(CentOS 7.6)中运行。

  • 下面这个是 .NET Core 3.1的云函数 bootstrap 文件

    #!/bin/sh
    echo "Start dotnet bootstrap ~~~"
    export DOTNET_ROOT=/opt/rt
    export PATH=$(pwd):/opt/rt:${PATH}
    dotnet ./index/bin/Release/netcoreapp3.1/index.dll

    index.dll 就是我们开发的函数文件。

    成功创建bootstrap和函数文件后,目录结构如下所示:

    ├ bootstrap
    └ index

    需要在Linux 下执行以下命令,设置文件可执行权限,并将其添加至 ZIP 包

    部署包准备好后,可以通过云函数控制台来创建和发布函数

    在腾讯云云函数计算上部署.NET Core 3.1的更多相关文章

  • 阿里云函数计算上部署.NET Core 3.1

    使用阿里云ECS或者其他常见的VPS服务部署应用的时候,需要手动配置环境,并且监测ECS的行为,做补丁之类的,搞得有点复杂.好在很多云厂商(阿里云.Azure等)提供了Serverless服务,借助于 ...

  • IIS上部署Net.Core

    部署: 1.安装vc_redist.x64vc_redist.x64 2.安装DotNetCore.1.0.0.RC2-WindowsHosting 3.安装DotNetCore.1.0.0-SDK. ...

  • So Easy - 在Linux服务器上部署 .NET Core App

    .NET Core是微软提供的免费.跨平台和开源的开发框架,可以构建桌面应用程序.移动端应用程序.网络应用程序.物联网应用程序和游戏应用程序等.如果你是 Windows 平台下的 dotnet 开发 ...

  • 在IIS上部署 .Net Core 3.0 项目踩坑实录

    在IIS上部署 .Net Core 3.0 项目的主要流程有: 安装并启用IIS 安装AspNetCoreMoleV2 添加.配置网站 设置应用程序池 通过VS发布 一.安装并启用IIS: 安装了 ...

  • 在CentOS 8 上 部署 .Net Core 应用程序

    在Centos 8 上 部署 .Net Core 应用程序 -- 记录篇 1.更新dnf 源 1 dnf update 2.安装 Asp.Net Core 运行时 1 dnf install ...

  • 在腾讯云&amp;阿里云上部署JavaWeb项目(Tomcat+MySQL)

    之前做项目都是在本地跑,最近遇到需要在在云服务器(阿里云或者腾讯云都可以,差不多)上部署Java Web项目的问题,一路上遇到了好多坑,在成功部署上去之后写一下部署的步骤与过程,一是帮助自己总结记忆, ...

  • ASP.NET Core学习之四 在CentOS上部署.net core

    一.安装CentOs 以前在大学学过linux,但是对命令行总是有一种深深的排斥感,几年之后,还是又回来了. 1.下载 现在没法FQ,就算是FQ网速也是蜗牛一样慢,我使用阿里云的镜像站进行下载速度还是 ...

  • 【netcore入门】在Windows IIS上部署.NET Core 2.1项目

    部署之前先检查下面2个先决条件是否满足 1.安装了 IIS 模块 win7 在 控制面板→程序和功能→打开或关闭Windows功能→勾选Internet 信息服务(Internet Informati ...

  • CentOS7系统上部署.net core程序

    一.准备工作 首先安装 xshell和 xftp ,前者用于SSH连接Linux服务器,后者用于FTP上传下载文件. xshell和xftp个人使用是免费的,下载地址 之后分别输入用户名和密码登录主 ...

B. c语言生成的exe文件还能不能反编译成源程序

不能!!!!!!
只能人为的翻译。

没有这样的软件!!!!!!

如果要是能反编译,这个世界的程序员就全失业了!

C. 微信小程序云开发和普通开发有什么区别,有事在哪里

开发者可以使用云开发开发微信小程序、小游戏,无需搭建服务器,即可使用云端能力。(云端说白了也就是服务端啦,说的那么高大上,对新手朋友可不太友好。)

小程序·云开发提供了三个基础能力:数据库存储和云函数。

  • 数据库:json数据库,就理解为往里面存的是json,取出来的也是json。

  • 存储:就是把你的图片、音频和视频之类的资源文件,存储到里面,帮你生成链接,直接拿链接就可以用,就好像一个网盘一样。

  • 云函数:这个云函数,就是服务端的接口,你调用这个函数,也就是调用接口。云函数可以在客户端写,也可以在云开发控制台写,写完之后同步一下,两端就都有了。在云函数里,你可以进行计算,也可以操作数据库,把想要的结果以同步或者异步的方式返回给客户端。

而普通开发就不一样了,普通开发需要准备以上所有条件。所以,云开发要比普通开发更方便、更高效。

D. 安卓如何调用腾讯云函数

1、首先打开腾讯云,点击“云产品”然后选择“云函数”。
2、其次点击“函数服务”然后新建云函数,设置好函数名称。
3、最后选择python3.6的版本,选择空白函数,即可调用腾讯云函数。

热点内容
php蚂蚁 发布:2024-05-07 13:49:22 浏览:400
phpfpmpid 发布:2024-05-07 13:44:29 浏览:520
linuxtty1 发布:2024-05-07 13:40:10 浏览:864
linuxshell脚本中if 发布:2024-05-07 13:25:01 浏览:221
phpmysql扩展 发布:2024-05-07 13:25:01 浏览:800
星密码开网店怎么样 发布:2024-05-07 13:23:26 浏览:354
安卓手机java模拟器 发布:2024-05-07 12:43:07 浏览:913
c语言java哪个好学 发布:2024-05-07 12:35:16 浏览:335
奥特曼访问 发布:2024-05-07 12:34:38 浏览:894
离线存储本地存储 发布:2024-05-07 12:30:23 浏览:413