Docs Menu
Docs Home
/ /
Atlas Device SDK
/ /

함수 호출 - .NET SDK

이 페이지의 내용

  • 이름으로 함수 호출

이 섹션의 예제에서는 두 개의 인수를 받아 더한 다음 결과를 반환하는 sum 라는 이름의 Realm 함수 를 호출하는 방법을 보여 줍니다.

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

참고

먼저 인증

사용자 객체 에서 함수를 호출하므로 함수를 호출하기 전에 사용자를 인증해야 합니다.

중요

Functions를 사용할 때 코드 삽입을 방지하기 위해 클라이언트 데이터를 삭제해야 합니다.

.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' collection에서 객체를 반환하는 함수를 호출합니다. 반환된 객체의 모양을 알고 있으므로 BsonValue 를 자신이 만든 클래스로 역직렬화한 다음 해당 객체의 속성 및 메서드에 액세스할 수 있습니다.

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

돌아가기

App Services 앱에 연결하

이 페이지의 내용