다음을 통해 공유


BackgroundTaskBuilder 클래스

정의

시스템에 등록할 백그라운드 작업을 나타냅니다.

public ref class BackgroundTaskBuilder sealed
/// [Windows.Foundation.Metadata.Activatable(65536, Windows.Foundation.UniversalApiContract)]
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Standard)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.MTA)]
class BackgroundTaskBuilder final
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Standard)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.MTA)]
/// [Windows.Foundation.Metadata.Activatable(65536, "Windows.Foundation.UniversalApiContract")]
class BackgroundTaskBuilder final
[Windows.Foundation.Metadata.Activatable(65536, typeof(Windows.Foundation.UniversalApiContract))]
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Standard)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.MTA)]
public sealed class BackgroundTaskBuilder
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Standard)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.MTA)]
[Windows.Foundation.Metadata.Activatable(65536, "Windows.Foundation.UniversalApiContract")]
public sealed class BackgroundTaskBuilder
function BackgroundTaskBuilder()
Public NotInheritable Class BackgroundTaskBuilder
상속
Object Platform::Object IInspectable BackgroundTaskBuilder
특성

Windows 요구 사항

디바이스 패밀리
Windows 10 (10.0.10240.0에서 도입되었습니다.)
API contract
Windows.Foundation.UniversalApiContract (v1.0에서 도입되었습니다.)

설명

참고

이 클래스는 민첩하지 않으므로 스레딩 모델 및 마샬링 동작을 고려해야 합니다. 자세한 내용은 스레딩 및 마샬링(C++/CX)다중 스레드 환경에서 Windows 런타임 개체 사용(.NET)을 참조하세요.

백그라운드 작업에 네트워크 연결이 필요한 경우 다음 사항에 유의하세요.

** 네트워크 관련 트리거**

  • SocketActivityTrigger를 사용하여 패킷이 수신되고 지속 시간이 짧은 작업을 수행해야 하는 경우 백그라운드 작업을 활성화합니다. 작업을 수행한 후에는 전원을 절약하기 위해 백그라운드 작업이 종료되어야 합니다.
  • ControlChannelTrigger를 사용하여 패킷이 수신되고 지속 시간이 긴 작업을 수행해야 하는 경우 백그라운드 작업을 활성화합니다.

** 네트워크 관련 조건 및 플래그**

  • InternetAvailable 조건(BackgroundTaskBuilder.AddCondition)을 백그라운드 작업에 추가하여 네트워크 스택이 실행될 때까지 백그라운드 작업 트리거를 지연합니다. 이 조건은 네트워크 액세스를 사용할 수 있게 될 때까지 백그라운드 작업이 실행되지 않기 때문에 전원을 절약합니다. 이 조건은 실시간 정품 인증을 제공하지 않습니다.

어떤 트리거를 사용하든, 백그라운드 작업에 IsNetworkRequested를 설정하여 백그라운드 작업이 실행되는 동안 네트워크 가동을 유지해야 합니다. 이렇게 하면 디바이스가 연결된 대기 상태 모드인 경우에도 작업 실행 중 네트워크를 계속 유지하도록 백그라운드 작업 인프라에 지시할 수 있습니다. 백그라운드 작업에서 IsNetworkRequested를 사용하지 않는 경우 연결된 대기 모드(예: 휴대폰 화면이 꺼져 있는 경우)에서 백그라운드 작업이 네트워크에 액세스할 수 없습니다.

버전 기록

Windows 버전 SDK 버전 추가된 값
1703 15063 작업 그룹
2004 19041 SetTaskEntryPointClsid

생성자

BackgroundTaskBuilder()

BackgroundTaskBuilder 클래스의 instance 만듭니다.

속성

AllowRunningTaskInStandby

시스템에 등록할 백그라운드 작업을 나타냅니다.

CancelOnConditionLoss

필요한 조건 중 하나 이상이 더 이상 충족되지 않는 경우 백그라운드 작업이 취소될지 여부를 나타냅니다.

IsNetworkRequested

백그라운드 작업을 실행하는 동안 네트워크를 유지할지 여부를 나타냅니다.

IsRunningTaskInStandbySupported

시스템에 등록할 백그라운드 작업을 나타냅니다.

Name

백그라운드 작업의 이름을 가져오거나 설정합니다.

TaskEntryPoint

백그라운드 작업의 작업을 수행하는 클래스를 가져오거나 설정합니다.

TaskGroup

그룹 식별자를 가져오고 설정합니다.

메서드

AddCondition(IBackgroundCondition)

백그라운드 작업에 조건을 추가합니다.

Register()

백그라운드 작업을 시스템에 등록합니다.

Register(String)

시스템에 등록할 백그라운드 작업을 나타냅니다.

SetTaskEntryPointClsid(Guid)

기존 BackgroundTaskBuilder 개체를 사용하여 COM CLSID 진입점을 할당합니다.

SetTrigger(IBackgroundTrigger)

백그라운드 작업에 대한 이벤트 트리거를 설정합니다.

Validate()

시스템에 등록할 백그라운드 작업을 나타냅니다.

적용 대상