1 回答

TA貢獻(xiàn)1846條經(jīng)驗(yàn) 獲得超7個(gè)贊
我如何根據(jù)上述評(píng)論遵循該方法:
Dictionary<string, bool> d= new Dictionary<string, bool>();
我在編寫(xiě) API 調(diào)用方法的類中創(chuàng)建了一個(gè)靜態(tài)字典,例如,MyApiClass
我將代碼行
client.timeout
= [your time here in milliseconds]; 用于 API 發(fā)送請(qǐng)求。當(dāng) API 超時(shí)時(shí),它會(huì)拋出異常
TaskTimeoutException
,因此我捕獲了異常并將代碼放入 catch 塊中,如下所示d.Add("timeout", true);
我創(chuàng)建了自定義操作過(guò)濾器并應(yīng)用了以下代碼:
public class CustomActionFilter : ActionFilterAttribute{ public override void OnActionExecuted(ActionExecutedContext filterContext) { if(MyApiClass.d.ContainsKey("timeout") && d["timeout"]) { throw new Exception(); } } }
我把它應(yīng)用
[CustomActionFilter]
到了動(dòng)作上。當(dāng)執(zhí)行操作并輸入自定義過(guò)濾器時(shí),它會(huì)通過(guò)檢查字典條目拋出異?!,F(xiàn)在,我們
Application_Error()
在Global.asax.cs中捕獲了異常。在
Application_Error()
我們編寫(xiě)了重定向到所需頁(yè)面的代碼。
注意:在步驟 4 中,您可以創(chuàng)建自定義異常以提供更精確的日志記錄詳細(xì)信息。
- 1 回答
- 0 關(guān)注
- 143 瀏覽
添加回答
舉報(bào)