(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):
Տե՛ս օգտագործման օրինակը։
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
- Դադարեցման տոկենը։
Տե՛ս օգտագործման օրինակը։