Բովանդակություն

Ներածություն

DataSource դասը նախատեսված է Client ծրագրից Web API-ների միջոցով տվյալների աղբյուրը կատարելու և կատարման արդյունքը վերադարձնելու ֆունկցիոնալությունը ապահովելու համար։

Հատկություններ

Client

public ApiClient Client { get; set; }

Վերադարձնում կամ նշանակում է ApiClient դասի օբյեկտ, որը նախատեսված է տվյալների աղբյուրի կատարման ընթացքում կլիենտից դեպի սերվեր անհրաժեշտ հարցումներ կատարելու համար։

Definition

public DataSourceDefinition Definition { get; set; }

Վերադարձնում կամ նշանակում է տվյալների աղբյուրի նկարագրությունը, որը պարունակում է տվյալների աղբյուրի, սյուների և պարամետրերի հատկությունները։

Տվյալների աղբյուրի նկարագրությունը կարելի է ստանալ DefinitionsCache դասի GetDataSourceDefinition մեթոդի միջոցով։

ExtenderSchema

public ExtenderSchemaEx ExtenderSchema { get; set; }

Վերադարձնում կամ նշանակում է տվյալների աղբյուրի ընդլայնման նկարագրությունը, որը պարունակում է ընդլայնման ներքին անունը, պարամետրերի ու սյուների հատկությունները։

Այս հատկությանը արժեք փոխանցելու դեպքում տվյալների աղբյուրը կատարելիս նաև հաշվարկվում է ընդլայնումը։

Տվյալների աղբյուրի ընդլայնման նկարագրությունը կարելի է ստանալ ApiClient դասի Extender հատկության GetSchema մեթոդի միջոցով՝ փոխանցելով ընդլայնման ներքին անունը։

ds.ExtenderSchema = apiClient.Extender.GetSchema("CreatDocExtended");

Օգտագործման օրինակին ծանոթանալու համար տե՛ս։

FetchSize

public int FetchSize { get; set; }

Տվյալների աղբյուրի կատարման արդյունքում վերադարձվող տողերը սերվիսից կլիենտ բեռնվում են բլոկ առ բլոկ։

Այս հատկությունը վերադարձնում կամ նշանակում է բեռնման յուրաքանչյուր բլոկի տողերի քանակը՝ բացառությամբ առաջինի։

FirstFetchSize

public int FirstFetchSize { get; set; }

Տվյալների աղբյուրի կատարման արդյունքում վերադարձվող տողերը սերվիսից կլիենտ բեռնվում են բլոկ առ բլոկ։

Այս հատկությունը վերադարձնում կամ նշանակում է բեռնման առաջին բլոկի տողերի քանակը։

ShowProgress

public bool ShowProgress { get; set; }

Վերադարձնում կամ նշանակում է տվյալների աղբյուրը կատարման և բեռնման գործընթացի պրոգրեսի պատուհանով ցուցադրման հայտանիշը։

EncodeResultUnicode

public bool EncodeResultUnicode { get; set; }

Վերադարձնում կամ նշանակում է, արդյոք տվյալների աբյուրի տողերի կոդավորումը Unicode է, թե ոչ։

Մեթոդներ

ExecuteAsync

public Task<DataSourceResult<R>> ExecuteAsync(P param, HashSet<string> columns = default, string isn = null,
                                              CancellationToken cancellationToken = default, TimeSpan? timeout = null)

Կատարում է տվյալների աղբյուրը, վերադարձնում ստացված տողերի ցուցակը և կատարման ընթացքում առաջացած սխալների մանրամասն տեղեկությունը։

Այս մեթոդը անհրաժեշտ է օգտագործել այնպիսի տվյալների աղբյուրների կատարման համար, որոնց կատարման ժամանակը չի գերազանցում 180 վայրկյանը։

Պարամետրեր

  • param - Տվյալների աղբյուրի պարամետրերը նկարագրող դասի օբյեկտ՝ ParameterCollection դասի ժառանգ։
  • columns - Տվյալների աղբյուրի վերադարձվող սյուների անունների ցուցակ։ Արժեք չփոխանցելու դեպքում կատարման արդյունքում վերադարձվելու են բոլոր սյուները։
  • isn - Sql-based տվյալների աղբյուրում տող ավելացնելու, ջնջելու կամ թարմացնելու դեպքում տվյալների աղբյուրի կատարվելիս փոփոխված տողի isn-ը։
  • cancellationToken - Ընդհատման օբյեկտ:
  • timeout - Տվյալների աղբյուրի կատարման հարցման առավելագույն ժամանակը։ Արժեք չփոխանցելու դեպքում հարցման կատարման առավելագույն ժամանակ համարվելու է 180 վրկ (3 ր)։

Տե՛ս

LoadDefinitionAsync

public async Task LoadDefinitionAsync(string name, CancellationToken cancellationToken = default)

Բեռնում է տվյալների աղբյուրի նկարագրությունը և վերագրում Definition հատկությանը։

Պարամետրեր

  • param - Տվյալների աղբյուրի ներքին անունը։
  • cancellationToken - Ընդհատման օբյեկտ:

LongExecuteAsync

public Task<DataSourceResult<R>> LongExecuteAsync(P param, HashSet<string> columns = default, 
                                                  string isn = null, bool handleEvents = false,
                                                  CancellationToken cancellationToken = default, TimeSpan? timeout = null)

Կատարում է տվյալների աղբյուրը, վերադարձնում ստացված տողերի ցուցակը և կատարման ընթացքում առաջացած սխալների մանրամասն տեղեկությունը։

Այս մեթոդը անհրաժեշտ է օգտագործել այնպիսի տվյալների աղբյուրների կատարման համար, որոնց կատարման ժամանակը գերազանցում է 180 վայրկյանը կամ անհայտ է։

Մեթոդը հերթի է դնում տվյալների աղբյուրի կատարումը, հարցնում է կատարման ընթացքի մասին ինֆորմացիա, քանի դեռ կատարումը չի ավարտվել և վերջում վերադարձնում է կատարման արդյունքը։

Տե՛ս նաև Ասինխրոն մշակում կիրառությունների սերվերի վրա:

Պարամետրեր

  • R - Տվյալների աղբյուրի տողը նկարագրող դասի օբյեկտ՝ ExtendableRow դասի ժառանգ։
  • param - Տվյալների աղբյուրի պարամետրերը նկարագրող դասի օբյեկտ՝ ParameterCollection դասի ժառանգ։
  • columns - Տվյալների աղբյուրի վերադարձվող սյուների անունների ցուցակ։ Արժեք չփոխանցելու դեպքում կատարման արդյունքում վերադարձվելու են բոլոր սյուները։
  • isn - Sql-based տվյալների աղբյուրում տող ավելացնելու, ջնջելու կամ թարմացնելու դեպքում տվյալների աղբյուրի կատարվելիս փոփոխված տողի isn-ը։
  • cancellationToken - Ընդհատման օբյեկտ:
  • timeout - Տվյալների աղբյուրի կատարման արդյունքի ստացման հարցման առավելագույն ժամանակը։ Արժեք չփոխանցելու դեպքում հարցման կատարման առավելագույն ժամանակ համարվելու է 180 վրկ (3 ր)։

Տե՛ս Տվյալների աղբյուրի և ընդլայնման կլիենտից կանչի օրինակ ոչ տիպիզացված եղանակով