ผมจึงมีฟังก์ชั่นที่เรียกใช้บริการเว็บซึ่งจะคืนค่า INT ที่บ่งบอกถึงความสำเร็จหรือความล้มเหลวประเภทต่างๆ ที่อาจเกิดขึ้น หลังจากที่ฉันได้รับผลลัพธ์จากบริการ ฉันจึงเรียกใช้คำสั่ง switch และดำเนินการตามสิ่งที่พบในระหว่างการดำเนินการบริการ
private void Example()
{
int Result = ExecuteWebService();
switch(Result)
{
case 0:
//no errors
NoErrorsLogic();
break;
case 1:
// manual retry
ManualRetryLogic();
break;
case 2:
// validation error
ValidationErrorLogic();
break;
default:
// Run time error occurred
LogicOptionD();
// At this point I want to to call the service again ONCE just to see if it will succeed
break;
}
}
โดยทั่วไป ฉันแค่เพิ่มการเรียกใช้ฟังก์ชันเพื่อให้เรียกใช้บริการและเรียกใช้ผลลัพธ์อีกครั้ง แต่ฉันไม่ต้องการให้มันทำงานอย่างต่อเนื่องจนกว่าบริการจะสำเร็จ ในตัวเลือกเริ่มต้น ฉันเพียงต้องการบังคับให้ 'ลองอีกครั้ง' เรียกใช้บริการหนึ่งครั้ง - จากนั้นจึงประมวลผลผลลัพธ์ตามนั้น
มีความคิดอะไรบ้าง?