워크플로 관리자 1.0 데이터 유형 지원 및 표현식 작업

 

Workflow Manager 1.0에서는 두 가지 범주의 작업인 표현식 및 데이터 유형 처리를 위한 작업과 메시징, 통신, 워크플로 응용 프로그램의 논리 작성을 위한 작업을 제공합니다.첫 번째 범주의 작업은 표현식이 신뢰할 수 있는 표면의 작업으로 구성된 작업 트리로 변환될 때 대개 백그라운드에서 사용됩니다.이 항목에서는 이러한 작업에 대해 간략하게 설명합니다.

  • 문자열 작업

  • 날짜 지원 작업

    • DateTime 작업

    • TimeSpan 작업

  • 숫자 유형 작업

  • 부울 작업

  • Guid 작업

  • 컬렉션 작업

    • ICollection

    • IDictionary

  • 예외 작업

  • Uri 작업

문자열 작업

다음의 작업은 문자열에 대한 작업을 지원합니다.

작업

설명

인수

CompareString

두 문자열을 비교합니다(IComparable과 비슷함).정규 표현식을 지원하며 캐스팅은 무시됩니다.

명시적 culture 전달은 지원되지 않습니다(모든 비교는 고정 culture를 사용하여 수행됨).

InArgument<string> Left

InArgument<string> Right

InArgument<bool> IgnoreCase

OutArgument<int> Result

ConcatString

일련의 문자열을 연결합니다.

모든 입력 데이터의 유형은 개체가 아닌 문자열이어야 합니다.

Collection<InArgument<string> Inputs

OutArgument<bool> Result

ContainsString

문자열이 다른 문자열에 포함되어 있으면 true를 반환합니다.

비교할 문자열은 항상 대/소문자를 구분합니다.

InArgument<string> Input

InArgument<string> SearchValue

OutArgument<bool> Result

EndsWithString

문자열이 다른 문자열의 끝 부분이면 true를 반환합니다.대/소문자를 구분하지 않는 작업이 지원됩니다.

명시적 culture 전달은 지원되지 않습니다(모든 비교는 설계에 의해 고정 culture를 사용하여 수행됨).

InArgument<string> Left

InArgument<string> Right

InArgument<bool> IgnoreCase

OutArgument<bool> Result

FormatString

인수 집합을 전달하는 문자열의 형식을 지정합니다.인수에는 모든 유형이 사용될 수 있습니다(인수 컬렉션이 InArgument 유형의 컬렉션이므로).

명시적 culture 전달은 지원되지 않습니다(모든 비교는 설계에 의해 고정 culture를 사용하여 수행됨).

사용자 지정 IFormatProviders는 지원되지 않습니다.

InArgument<string> Format

Collection<InArgument> Arguments

IndexOfString

문자열이 다른 문자열에서 발생된 인덱스를 반환합니다.

명시적 culture 전달은 지원되지 않습니다(모든 비교는 설계에 의해 고정 culture를 사용하여 수행됨).

대/소문자를 구분하지 않고 작업하기 위한 IgnoreCase 플래그는 지원되지 않습니다.

InArgument<string> Input

InArgument<string> SearchValue

InArgument<int> StartIndex

InArgument<int> Count

OutArgument<int> Index

IsEmptyString

문자열이 비었거나 공백이면 true를 반환합니다.

InArgument<string> Input

InArgument<bool> CheckForWhiteSpace

OutArgument<bool> Result

IsEqualString

두 문자열이 같으면 true를 반환합니다.RegEx를 사용한 비교도 지원되며 대/소문자를 무시할 수도 있습니다.

명시적 culture 전달은 지원되지 않습니다(모든 비교는 설계에 의해 고정 culture를 사용하여 수행됨).

InArgument<string> Input

InArgument<string> Pattern

InArgument<string> Text

InArgument<bool> IgnoreCase

OutArgument<bool> Result

ReplaceString

문자열을 다른 문자열로 바꿉니다.RegEx 교체가 지원됩니다.

InArgument<string> Input

InArgument<string> Pattern

InArgument<string> ExistingValue

InArgument<string> Replacement

OutArgument<string> Result

SplitString

기존 문자열을 기반으로 일련의 문자열을 반환합니다.

InArgument<string> Input

InArgument<string> Separator

InArgument<StringSplitOptions> StringSplitOptions

OutArgument<string[]> Result

StartsWithString

문자열이 다른 문자열의 첫 부분이면 true를 반환합니다.대/소문자를 구분하지 않는 작업이 지원됩니다.

명시적 culture 전달은 지원되지 않습니다(모든 비교는 설계에 의해 고정 culture를 사용하여 수행됨).

InArgument<string> Left

InArgument<string> Right

bool IgnoreCase

OutArgument<bool> Result

StringLength

문자열의 길이를 반환합니다.

InArgument<string> Input

OutArgument<int> Result

Substring

기존 문자열의 하위 문자열을 반환합니다.사용자는 시작 부분과 길이를 지정할 수 있습니다.

InArgument<string> Input

InArgument<int> StartIndex

InArgument<int> Length

OutArgument<string> Result

ToLowerCase

입력 문자열을 소문자로 변환합니다.

명시적 culture 전달은 지원되지 않습니다(모든 비교는 설계에 의해 고정 culture를 사용하여 수행됨).

InArgument<string> Input

OutArgument<string> Result

ToString

입력 값을 문자열로 변환합니다.올바른 .NET 형식의 문자열 전달이 지원됩니다. 이를 위해 culture 이름이 변환에 사용됩니다.

IFormatProvider 전달은 지원되지 않습니다(culture 이름만 지정할 수 있음)

InArgument Object

InArgument<string> Format

InArgument<string> CultureName

OutArgument<string> Result

ToUpperCase

입력 문자열을 대문자로 변환합니다.

명시적 culture 전달은 지원되지 않습니다(모든 비교는 설계에 의해 고정 culture를 사용하여 수행됨).

InArgument<string> Input

OutArgument<string> Result

Trim

문자열의 내용을 트리밍합니다.

문자 집합을 트리밍하도록 전달하는 것은 지원되지 않습니다.

InArgument<string> Input

OutArgument<string> Result

날짜 지원 작업

다음의 작업은 DateTime 및 TimeSpan 유형을 사용할 때 사용됩니다.

  • DateTime 작업

  • TimeSpan 작업

DateTime 작업

작업

설명

인수

AddToDate

기존 날짜에 추가합니다.고객은 하나 이상의 날짜 요소(예: 일, 분, 월 등)나 timeSpan을 추가할 수있습니다.

InArgument<DateTime> Input

InArgument<int> Days

InArgument<int> Months

InArgument<int> Hours

InArgument<int> Minutes

InArgument<int> Milliseconds

InArgument<TimeSpan> TimeSpan

OutArgument<DateTime> Result

CompareDate

두 날짜를 비교합니다(IComparable과 비슷함).

InArgument<DateTime> Left

InArgument<DateTime> Right

OutArgument<int> Result

ConvertTimeZone

지정된 두 시간대 사이에서 날짜를 변환합니다.

InArgument<DateTime> Input

InArgument<DateTime> SourceTimeZone

InArgument<DateTime> DestinationTimeZone

OutArgument<DateTime> Result

CreateDate

날짜 구성 요소를 전달하는 새로운 DateTime 인스턴스를 만듭니다.날짜는 로컬 시간 또는 UTC 시간입니다.

틱(초) 수 범위 밖의 날짜는 만들 수 없습니다.

InArgument<int> Day

InArgument<int> Month

InArgument<int> Year

InArgument<int> Hour

InArgument<int> Minute

InArgument<int> Second

InArgument<DateTimeKind> Kind

OutArgument<DateTime> Result

CurrentDate

서버의 현재 날짜를 UTC 시간으로 반환합니다.

OutArgument<Result> DateTime

DateInRange

날짜가 다른 두 날짜 사이에 있으면 true를 반환합니다.

InArgument<DateTime> Input

InArgument<DateTime> Start

InArgument<DateTime> End

OutArgument<bool> Result

DelayUntil

지정된 날짜까지 대기합니다.

InArgument<DateTime> Date

GetDateField

DateTime 인스턴스의 한 필드를 반환합니다.

InArgument<DateTime> Input

DateField DateField

OutArgument<int> Result

GetDateFields

DateTime 인스턴스의 여러 필드를 반환합니다.

InArgument<DateTime> Input

OutArgument<int> Year

OutArgument<int> Month

OutArgument<int> Day

OutArgument<int> Hour

OutArgument<int> Minute

OutArgument<int> Second

GetElapsedDays

두 날짜 사이에서 경과된 일 수를 반환합니다.주말과 휴일은 제외할 수 있습니다.

InArgument<DateTime> Start

InArgument<DateTime> End

InArgument<bool> ExcludeWeekends

InArgument<IEnumerable<DateTime>> ExcludedDates

OutArgument<int> Result

GetElapsedTime

두 날짜 사이에서 경과된 시간을 반환합니다.

InArgument<DateTime> Start

InArgument<DateTime> End

OutArgument<TimeSpan> Result

SubtractFromDate

날짜에서 뺍니다.사용자는 날짜 요소(예: 시간 또는 일) 또는 TimeSpan을 전달할 수 있습니다.

InArgument<DateTime> Input

InArgument<int> Days

InArgument<int> Hours

InArgument<int> Minutes

InArgument<int> Seconds

InArgument<TimeSpan> TimeSpan

OutArgument<DateTime> Result

ParseDate

문자열을 DateTime으로 구문 분석합니다.CultureName(작업 내부에서 만들어진 culture)과 DateTimeStyle을 전달할 수 있습니다.

InArgument<string> Value

InArgument<DateTimeStyles> DateTimeStyles

InArgument<string> CultureName

TimeSpan 작업

작업

설명

서명

CreateTimeSpan

TimeSpan의 인스턴스를 만듭니다.

InArgument<int> Days

InArgument<int> Minutes

InArgument<int> Hours

InArgument<int> Seconds

OutArgument<TimeSpan> Result

Delay

지정된 TimeSpan 동안 대기합니다.

InArgument<TimeSpan> Duration

GetTimeSpanFields

TimeSpan의 여러 필드를 가져옵니다.

InArgument<TimeSpan> Input

OutArgument<int> Days

OutArgument<int> Hours

OutArgument<int> Minutes

OutArgument<int> Seconds

OutArgument<int> TotalDays

OutArgument<int> TotalHours

OutArgument<int> TotalMinutes

OutArgument<int> TotalSeconds

숫자 유형 작업

다음의 작업은 Int32 및 Double 데이터 유형에 대한 작업을 지원합니다.

작업

설명

인수

Add<T>

두 수를 더합니다.

InArgument<T> Left

InArgument<T> Right

OutArgument<T> Result

Divide<T>

두 수를 나눕니다.

InArgument<T> Left

InArgument<T> Right

OutArgument<T> Result

IsEqualNumber<T>

두 수가 같으면 true를 반환합니다.

InArgument<T> Left

InArgument<T> Right

OutArgument<bool> Result

IsGreaterThan<T>

한 수가 다른 수보다 크면 true를 반환합니다.

InArgument<T> Left

InArgument<T> Right

OutArgument<bool> Result

IsGreaterThanOrEqual<T>

한 수가 다른 수보다 크거나 같으면 true를 반환합니다.

InArgument<T> Left

InArgument<T> Right

OutArgument<bool> Result

IsLessThan<T>

한 수가 다른 수보다 작으면 true를 반환합니다.

InArgument<T> Left

InArgument<T> Right

OutArgument<bool> Result

IsLessThanOrEqual<T>

한 수가 다른 수보다 작거나 같으면 true를 반환합니다.

InArgument<T> Left

InArgument<T> Right

OutArgument<bool> Result

Mod<T>

Mod 연산을 실행합니다.

InArgument<T> Left

InArgument<T> Right

OutArgument<bool> Result

Multiply<T>

두 수를 곱합니다.

InArgument<T> Left

InArgument<T> Right

OutArgument<bool> Result

ParseNumber<T>

수를 구문 분석합니다.

InArgument<string> Value

InArgument<string> CultureName

InArgument<NumberStyles> NumberStyles

OutArgument<bool> Result

Subtract<T>

두 수를 뺍니다

InArgument<T> Left

InArgument<T> Right

OutArgument<bool> Result

부울 작업

다음의 작업은 Boolean 값에 대한 작업을 지원합니다.

작업

설명

인수

논리 and 연산입니다.

InArgument<bool> Left

InArgument<bool> Right

InArgument<bool> Result

IsEqualBoolean

두 부울 값 간의 논리 일치성입니다.

InArgument<bool> Left

InArgument<bool> Right

InArgument<bool> Result

IsFalse

부울이 False이면 true를 반환합니다.

InArgument<bool> Input

InArgument<bool> Result

IsTrue

부울이 True이면 true를 반환합니다.

InArgument<bool> Input

InArgument<bool> Result

아님

부정 연산입니다.

InArgument<bool> Input

InArgument<bool> Result

또는

논리 Or 연산입니다.

InArgument<bool> Left

InArgument<bool> Right

InArgument<bool> Result

ParseBoolean

부울을 구문 분석합니다.

InArgument<string> Input

InArgument<bool> Result

Guid 작업

다음의 작업은 Guid에 대한 작업을 지원합니다.

작업

설명

인수

IsEmptyGuid

Guid가 비었으면 true를 반환합니다.

InArgument<Guid> Value

OutArgument<bool> Result

IsEqualGuid

두 Guid가 같으면 true를 반환합니다.

InArgument<Guid> Left

InArgument<Guid> Right

OutArgument<bool> Result

NewGuid

새로운 Guid를 만들어 반환합니다.

OutArgument<Guid> Result

ParseGuid

문자열에서 guid를 구문 분석합니다.

InArgument<string> Value

OutArgument<Guid> Result

컬렉션 작업

다음의 작업은 컬렉션에 대한 작업을 지원합니다.ICollection 작업은 인덱스를 통해 액세스할 수 있는 항목 컬렉션을 사용하여 작업할 때 유용하며 IDictionary 작업은 키/값 쌍 컬렉션을 사용하여 작업할 때 유용합니다.

  • ICollection

  • IDictionary

ICollection

작업

설명

인수

AddToCollection<T>

컬렉션에 항목을 추가합니다(System.Activities에서).

InArgument<ICollection<T>> Collection

InArgument<T> Item

RemoveFromCollection<T>

컬렉션에서 항목을 제거합니다(System.Activities에서).

InArgument<ICollection<T>> Collection

InArgument<T> Item

OutArgument<bool> Result

ExistsInCollection<T>

항목이 컬렉션에 존재하면 true를 반환합니다(System.Activities에서).

InArgument<ICollection<T>> Collection

InArgument<T> Item

OutArgument<bool> Result

ClearCollection<T>

컬렉션을 지웁니다(System.Activities에서).

InArgument<ICollection<T>> Collection

BuildCollection<T>

컬렉션을 만들어 초기화합니다.

InArgument<IEnumerable<T>> Collection

ICollection<InArgument<T>> ValuesOutArgument<Collection<T>> Result

CountCollection<T>

컬렉션에 있는 항목의 수를 셉니다.

InArgument<ICollection<T>> Collection

OutArgument<int> Result

GetItemFromCollection<T>

컬렉션의 항목을 가져옵니다.

InArgument<ICollection<T>> Collection

InArgument<int> Index

OutArgument<T> Result

IDictionary

작업

설명

인수

AddToDictionary<K,V>

컬렉션에 항목을 추가합니다(System.Activities에서).

InArgument<IDictionary<K,V>> Dictionary

InArgument<K> Key

InArgument<V> Value

RemoveFromDictionary<T>

사전에서 항목을 제거합니다(System.Activities에서).

InArgument<IDictionary<K,V>> Dictionary

InArgument<K> Key

DictionaryContains<K,V>

항목이 사전에 존재하면 true를 반환합니다(System.Activities에서).

InArgument<IDictionary<K,V>> Dictionary

InArgument<K> Key

InArgument<V> Value

OutArgument<bool> Result

ClearDictionary<K,V>

컬렉션을 지웁니다(System.Activities에서).

InArgument<IDictionary<K,V>> Dictionary

BuildDictionary<K,V>

컬렉션을 만들어 초기화합니다.

InArgument<IDictionary<K,V>> Dictionary

IDictionary<TKey, InArgument<TValue>> Values

OutArgument<IDictionary<K,V>> Result

CountDictionary<K,V>

컬렉션에 있는 항목의 수를 셉니다.

InArgument<IDictionary<K,V>> Dictionary

OutArgument<int> Result

SplitKeyValuePair<K,V>

KeyValuePair로부터 키와 값을 분리합니다.

InArgument<KeyValuePair<K,V>> Dictionary

OutArgument<K> Key

OutArgument<V> Value

GetDictionaryValue<K,V>

사전의 값을 가져옵니다.

InArgument<IDictionary<K,V>> Dictionary

InArgument<K> Key

OutArgument<V> Result

예외 작업

다음의 작업은 예외를 처리할 수 있도록 지원합니다.

작업

설명

인수

TryCatch

워크플로에서의 예외 처리입니다.

이 작업은 WF4의 작업입니다.

Throw

예외를 발생시킵니다.

이 작업은 WF4의 작업입니다.

InArgument<Exception> Exception

Rethrow

예외를 다시 발생시킵니다(c#에서의 인수 없는 “throw”와 비슷함).

이 작업은 WF4의 작업입니다.

CreateException<T>

예외의 인스턴스를 만듭니다.

InArgument<string> Message

InArgument<Exception> InnerException

Uri 작업

Uri 데이터 유형은 신뢰할 수 있는 목록에 포함되어 있으므로 Uri를 매개 변수로 사용하는 다른 작업에서 사용할 수 있습니다.이 작업은 New<Uri> 작업을 사용하거나 CreateUriFromDynamicValue 작업을 사용하여 만들 수 있습니다.