기술 자료

​
​

Development

User Acquisition

Monetization

산업 분야

Cloud Code

Cloud Code

LiveOps
​
​
Cloud Code
  • Overview
  • Get started
  • Server authority
  • Cloud Code C# modules
    • Overview
    • Get started
    • Concepts
    • Tutorials
      • Run modules
      • Write modules
      • Development essentials
        • Write unit tests
        • Dependency injection
        • Custom serialization
        • Batch requests
        • In-memory cache
      • Automate deployment
      • Integrate services
      • Advanced configuration
      • Use Cases
    • Reference
  • Cloud Code JavaScript scripts
  • Logging
  • Use-case samples
  • Privacy and consent
  1. Cloud Code

종속성 삽입

Decouple hard-coded dependencies in your code using dependency injection for easier unit testing.
읽는 시간 2분
최근 업데이트: 9달 전

Cloud Code는 DI(종속성 삽입)를 지원하며, 이 기능을 사용하면 코드에서 하드 코딩된 종속성을 분리하여 유닛 테스트를 더 쉽게 수행할 수 있습니다. DI는 .Net으로 구축한 유사 시스템을 기반으로 합니다.
Cloud Code는 다음과 같은 종속성 유형을 지원합니다.
  • 싱글톤: 싱글톤 종속성은 한 번 생성된 후 필요한 곳에 삽입됩니다.
  • 범위 지정: 범위 지정 종속성은 요청당 한 번씩 생성됩니다. 생성자에서 사용하든 메서드 자체에서 사용하든 둘 다 동일한 오브젝트에 연결되므로 사용 위치는 상관없습니다.
  • 임시: 임시 종속성은 요청을 받을 때마다 생성됩니다. 생성자에서 임시 종속성을 요청한 후 메서드에서 다시 요청하는 경우, 이 두 요청은 두 개의 개별 인스턴스가 됩니다.

종속성 삽입 설정

종속성을 설정하려면
ICloudCodeSetup
인터페이스를 구현하는 클래스를 생성해야 합니다.
다음 예시에서는 싱글톤 인터페이스와 그 구현을 정의하지만
AddScoped
또는
AddTransient
를 사용하여 범위 지정 종속성 또는 임시 종속성을 사용할 수도 있습니다.
C#
using Unity.Services.CloudCode.Core;namespace ExampleModule;public interface IRandomNumber{ public int GetRandomNumber();}public class LockedRandomNumber : IRandomNumber{ private int randomNumber; public LockedRandomNumber() { randomNumber = Random.Shared.Next(); } public int GetRandomNumber() { return randomNumber; }}public class ModuleConfig : ICloudCodeSetup{ public void Setup(ICloudCodeConfig config) { config.Dependencies.AddSingleton<IRandomNumber, LockedRandomNumber>(); }}
참고 사항
  • 싱글톤은 임의의 숫자를 한 번 생성한 다음 서비스가 운영되는 동안 이 숫자를 유지합니다.
  • 범위 지정의 경우 요청별로 새 인스턴스가 생성되지만 요청 위치와 관계없이 해당 요청의 숫자는 동일하게 유지됩니다.
  • 임시의 경우 요청받을 때마다 새 인스턴스를 생성하므로 매번 임의의 숫자를 반환합니다.

종속성 삽입 사용

종속성 삽입을 지원하려면 다음 예시에 나온 대로 클래스 생성자와 함께 메서드에
CloudCodeFunction
속성을 지정합니다.
C#
using Unity.Services.CloudCode.Core;namespace ExampleModule;public struct DependencyInjectionResult{ public int ConstructorNumber; public int MethodNumber;}public class TestDependencyInjection{ private int number; public TestDependencyInjection(IRandomNumber randomNumber) { number = randomNumber.GetRandomNumber(); } [CloudCodeFunction("TestInjection")] public DependencyInjectionResult TestInjection(IRandomNumber randomNumber) { return new DependencyInjectionResult { // Will always return the same number during the session ConstructorNumber = number, MethodNumber = randomNumber.GetRandomNumber(), }; }}
경고
경고: 싱글톤이 여러 요청 간에 유지되더라도 Cloud Code는 수요를 충족하기 위해 필요 시 여러 포드로 확장되므로 요청 간에 싱글톤이 서로 다를 수 있습니다.
종속성 삽입 사용에 대한 Microsoft의 기술 자료(영문)를 참고하십시오.

Copyright © 2026 Unity Technologies
법률 정보개인정보 처리방침쿠키Documentation Terms of Use개인 정보 판매 또는 공유 금지개인정보 보호 선택(쿠키 설정)

'Unity', Unity 로고 및 기타 Unity 상표는 미국 및 기타 지역 내 Unity Technologies 또는 그 계열사의 상표 또는 등록상표입니다(자세한 내용은 여기에서 확인하세요). 기타 명칭 또는 브랜드는 해당 소유자의 상표입니다.

일부 페이지는 편의를 위해 기계 번역되었으며 부정확한 내용이 있을 수 있습니다. 정보가 상충되는 경우, 영어 버전을 우선으로 참조하세요.

  • 보고 있는 페이지
    • 종속성 삽입 설정

    • 종속성 삽입 사용


이 페이지의 문제 보고