更新时间:2025-08-14 gmt 08:00
使用.net core cli开发c#函数-j9九游会登录
c#新增json序列化和反序列化接口,并提供hc.serverless.function.common.jsonserializer.dll 。
提供的接口如下:
t deserialize
stream serialize
本文以.net core 6.0创建“test”工程为例,其他运行时版本方法类似。执行环境已装有.net sdk。
新建项目
- 创建目录“/tmp/csharp/projects /tmp/csharp/release” ,执行命令如下:
mkdir -p /tmp/csharp/projects;mkdir -p /tmp/csharp/release
- 进入“/tmp/csharp/projects/”目录,执行命令如下:
cd /tmp/csharp/projects/
- 新建工程文件 “test.csproj”,文件内容如下:
net6.0 test test hc.serverless.function.common.dll hc.serverless.function.common.jsonserializer.dll
生成代码库
- 下载。
将hc.serverless.function.common.dll、hc.serverless.function.common.jsonserializer.dll、newtonsoft.json.dll文件上传至目录“/tmp/csharp/projects/”。
- 在“/tmp/csharp/projects/”路径下,新建“class1.cs”文件,代码内容如下:
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
usinghc.serverless.function.common; usingsystem; usingsystem.io; namespacetest { publicclassclass1 { publicstreamcontexthandlerserializer(streaminput,ifunctioncontextcontext) { varlogger=context.logger; logger.logf("csharp runtime test(v1.0.2)"); jsonserializertest=newjsonserializer(); testjsontestjson=test.deserialize<testjson>(input); if(testjson!=null) { logger.logf("json deserialize kettest={0}",testjson.kettest); } else { returnnull; } returntest.serialize<testjson>(testjson); } publicclasstestjson { publicstringkettest{get;set;}//定义序列化的类中的属性为kettest } } }
- 执行以下命令,生成代码库:
dotnet build /tmp/csharp/projects/test.csproj -c release -o /tmp/csharp/release
dotnet的路径:/home/tools/dotnetcore-sdk/dotnet-sdk-2.1.302-linux-x64/dotnet。
- 执行以下命令,进入“/tmp/csharp/release”路径。
cd /tmp/csharp/release
- 在路径“/tmp/csharp/release”下查看编译生成的dll文件,如下所示:
-rw-r--r-- 1 root root 468480 jan 21 16:40 newtonsoft.json.dll -rw-r--r-- 1 root root 5120 jan 21 16:40 hc.serverless.function.common.jsonserializer.dll -rw-r--r-- 1 root root 5120 jan 21 16:40 hc.serverless.function.common.dll -rw-r--r-- 1 root root 232 jan 21 17:10 test.pdb -rw-r--r-- 1 root root 3584 jan 21 17:10 test.dll -rw-r--r-- 1 root root 1659 jan 21 17:10 test.deps.json
- 在“/tmp/csharp/release”路径下,新建文件“test.runtimeconfig.json”文件,文件内容如下:
{ "runtimeoptions": { "framework": { "name": "microsoft.netcore.app", "version": "6.0.0" } } } - 在“/tmp/csharp/release”路径下,执行如下命令,打包test.zip代码库压缩包。
zip -r test.zip ./*
相关文档
意见反馈
文档内容是否对您有帮助?
提交成功!非常感谢您的反馈,我们会继续努力做到更好!
您可在查看反馈及问题处理状态。
系统繁忙,请稍后重试
如您有其它疑问,您也可以通过华为云社区问答频道来与我们联系探讨

