色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

ASP.NETWebApi服務接口如何防止重復請求?

老白2年前18瀏覽0評論

publicclassFrequencyControler{

///<summary>

///訪問控制器名稱,用于區分其它控制器,支持多個控制器

///</summary>

privatestringName{get;set;}

///<summary>

///限定時長

///</summary>

privateintSeconds{get;set;}

///<summary>

///限定次數

///</summary>

privateintTimes{get;set;}

publicreadonlyintMAX_TIMES=100;

#region私有方法

privatestringSessionNameDatelist{

get{returnString.Format("fc.{0}.datelist",Name);}

}

privatestringSessionNameDatepos{

get{returnString.Format("fc.{0}.datepos",Name);}

}

///<summary>

///取得用于保存每次訪問時間點的數組(做隊列用)

///</summary>

///<returns></returns>

privatelong[]GetDateList(){

if(HttpContext.Current.Session[SessionNameDatelist]==null){

HttpContext.Current.Session[SessionNameDatelist]=newlong[MAX_TIMES];

}

return(long[])HttpContext.Current.Session[SessionNameDatelist];

}

///<summary>

///獲取時間記錄位置,相當于當前隊列位置

///</summary>

///<returns></returns>

privateintGetDatepos(){

if(HttpContext.Current.Session[SessionNameDatepos]==null){

HttpContext.Current.Session[SessionNameDatepos]=0;

}

return(int)HttpContext.Current.Session[SessionNameDatepos];

}

///<summary>

///設置時間記錄位置,相當于當前隊列位置

///</summary>

///<paramname="pos"></param>

privatevoidSetDatepos(intpos){

HttpContext.Current.Session[SessionNameDatepos]=pos;

}

#endregion

///<summary>

///構造訪問檢測器,限定指定時間內最多請求次數

///</summary>

///<paramname="name">名稱</param>

///<paramname="seconds">限定時間范圍(秒數)</param>

///<paramname="times">限定次數</param>

publicFrequencyControler(stringname,intseconds,inttimes){

Name=name;

Seconds=seconds;

Times=times;

if(times>MAX_TIMES)thrownewException("限定次數設置值超出上限!");

}

///<summary>

///記錄一次訪問,在時間點數組的下一個位置(按最大長度循環覆蓋存儲)

///</summary>

pub

希望能幫到你