(DPR) Տվյալների մշակման հարցման նկարագրություն
Բովանդակություն
Ներածություն
Սերվիսային երկար տևող հարցումներ կատարելու և կատարման ընթացքին հետևելու համար նկարագրվում է Տվյալների մշակման հարցում (DPR - Data Processing Request):
Տվյալների մշակման հարցման (DPR-ի) նկարագրության համար հարկավոր է նկարագրել սերվերում աշխատող տրամաբանությունը C# դասում (.cs ֆայլում)։
Հարկավոր է սահմանել մուտքային և ելքային պարամետրերի դասեր (կարելի է օգտագործել գոյություն ունեցողները)։
Տե՛ս նաև
- Տվյալների մշակման հարցման (
DPR-ի) ստեղծման ձեռնարկը - Կազմակերպության սեփական Տվյալների մշակման հարցումների (
DPR-ի) ստեղծման ձեռնարկ - Ասինխրոն մշակում կիրառությունների սերվերի վրա
DataProcessingRequest դաս
Տվյալների մշակման հարցման (DPR-ի) համար անհրաժեշտ է`
- Սահմանել դաս, որը ժառանգում է
DataProcessingRequest<R, P>դասը՝ որպեսRփոխանցելով հարցման կատարման արդյունքում ստացվող տվյալները նկարագրող դասը, իսկ որպեսP՝ պարամետրերը նկարագրող դասը: - Այդ դասին վրա դնել DPR ատրիբուտը, որը պարունակում է DPR-ի տեսակը, հայերեն, անգլերեն անվանումները և թույլատրված է ընդհատումը UI-ից թե ոչ (լռությամբ թույլատրվում է ընդհատումը UI-ից)։
Օրինակ
[DPR(DPRType = DPRType.Other, ArmenianCaption = "Փաստաթղթի դաշտերի խմբագրում", EnglishCaption = "Document's fields' edition",
IsCancellationSupported = FeatureAvailability.Disabled)]
public class EditDocumentsFields : DataProcessingRequest<EditFieldsResponse, EditFieldsRequest>
{
//...
}
Հատկություններ
ArmenianCaption
public string ArmenianCaption { get; }
Վերադարձնում է տվյալների մշակման հարցման (DPR-ի) հայերեն անվանումը ANSI կոդավորմամբ:
EnglishCaption
public string EnglishCaption { get; }
Վերադարձնում է տվյալների մշակման հարցման (DPR-ի) անգլերեն անվանումը:
Name
public string Name { get; }
Վերադարձնում է տվյալների մշակման հարցման (DPR-ի) ներքին անունը:
Եթե DPR ատրիբուտում Name դաշտը լրացված է և դատարկ չէ, ապա վերադարձնում է այդ արժեքը, հակառակ դեպքում վերադարձնում է DPR-ը նկարագրող դասի անունը։
Progress
public DPRExecutionProgress Progress { get; }
Վերադարձնում է տվյալների մշակման հարցման (DPR-ի) կատարման պրոգրեսը:
Այս օբյեկտի միջոցով հնարավոր է կառավարել կատարման փուլերը, UI-ում ցույց տալ այդ փուլերը և UI-ում ցույց տալ հաղորդագրության պատուհան (MessageBox):
Տե՛ս IUIRequestExecutionProgress։
Տե՛ս օգտագործման օրինակը։
DPRType
public DPRType DPRType { get; }
Վերադարձնում է տվյալների մշակման հարցման (DPR-ի) տեսակը, որը լրացված է նկարագրվող դասի վրա DPR ատրիբուտի մեջ։
- DPRType.Report - Հաշվետվությունների տվյալների մշակման հարցում
- DPRType.OLAP - Օլապ տվյալների մշակման հարցում
- DPRType.JobElement - Առաջադրանքների տվյալների մշակման հարցում
- DPRType.Other - Այլ տվյալների մշակման հարցում
Մեթոդներ
AfterDeserializeParameter
protected virtual Task AfterDeserializeParameter(P parameter, JsonElement jsonElement)
Մեթոդը կանչվում է միջուկի կողմից DPR-ը հերթագրման դնելուց առաջ։
Այն հարկավոր է մշակել, եթե հարկավոր է փոխանցված պարամետրերի ստուգումներ կատարել, կամ մուտքային պարամետրերը ձևափոխել։
Մեթոդի կանչից առաջ parameter-ը արդեն իսկ ձևավորված է՝ ըստ ցանցով փոխանցված JSON-ի։
Պարամետրեր
parameter- Մուտքային պարամետրերի նկարագրված դասի օբյեկտ։jsonElement- Փոխանցված JSON օբյեկտի մեջ։
Execute
public abstract Task<R> Execute(P p, CancellationToken stoppingToken)
Մեթոդը կանչվում է միջուկի կողմից, այստեղ հարկավոր է մշակել սերվերում աշխատող տրամաբանությունը։
Պարամետրեր
R- Կատարման արդյունքում վերադարձվող տվյալները նկարագրող դաս:p- Մուտքային պարամետրերի նկարագրված դասի օբյեկտ։stoppingToken- Դադարեցման տոկենը։
Տե՛ս օգտագործման օրինակը։