Docs 菜单
Docs 主页
/ /
Atlas Device SDKs
/ /

调用函数 - .NET SDK

在此页面上

  • 按名称调用函数

本部分中的示例演示如何调用名为 sum Realm函数,该函数接受两个参数、将它们相加并返回结果:

// sum: adds two numbers
exports = function(a, b) {
return a + b;
};

注意

首先进行身份验证

您可以在用户对象上调用函数,因此在调用任何函数之前,您必须对用户进行身份验证。

重要

使用函数时,确保对客户端数据进行清理,以防止代码注入。

要从 .NET SDK 执行函数,请对User对象使用Functions.CallAsync()方法,将函数名称作为第一个参数传递,并将参数作为其余参数传递:

var bsonValue = await
user.Functions.CallAsync("sum", 2, 40);
// The result must now be cast to Int32:
var sum = bsonValue.ToInt32();
// Or use the generic overloads to avoid casting the BsonValue:
sum = await
user.Functions.CallAsync<int>("sum", 2, 40);

注意

CallAsync()方法返回单个BsonValue对象,您可以在调用函数后或使用泛型重载来反序列化该对象。 上面的代码显示了这两种反序列化方法。

BsonValue对象可以保存单个基元值(如上例所示),也可以保存完整的 BSON 文档。 如果有映射到返回对象的类,则可以使用泛型重载反序列化到该类。 例如,以下代码调用一个函数,该函数从“RealmTasks”集合中返回一个对象。 由于我们知道返回对象的形状,因此可以将BsonValue反序列化为我们创建的类,然后就可以访问该对象的属性和方法:

var item = await user.Functions.CallAsync<MyClass>
("getItem", "5f7f7638024a99f41a3c8de4");
var name = item.Name;

后退

连接 App Services App

在此页面上