iT邦幫忙

0

web api被同時間重複呼叫的可能原因

  • 分享至 

  • xImage

如題

近期發現有一個Api同一時間被呼叫了兩次

因為同一筆資料被寫入了兩次

連建立的時間到毫秒都一樣

所以應該不會是前端沒有防呆

而造成重複呼叫

api呼叫寫入的log也是同時間兩筆資料

雖然發生的次數比例算少

使用的web api 是 asp.net HttpResponseMessage

想詢問可能的原因

yuwen iT邦新手 4 級 ‧ 2021-03-17 08:54:14 檢舉
這要從你的網路架構上去做觀察,在WebAPI之上包括WebServer、路由器、防火牆等設備,這些設備都有可能會造成內部封包重覆的情況(尤其是NLB)。要確認這種情況最簡單的方式就是直接去看各個設備的LOG,找出是否也有重覆的封包記錄。
另外,其實也有可能是自已程式或日誌套件造成的,如果真的是同時接收到二個相同的封包,那照理來說你的資料庫(如果有)也可能會有一樣的LOG,應該多嚐試其他方向去找出原因。
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中
3
海綿寶寶
iT邦大神 1 級 ‧ 2021-03-17 00:34:36

有人在網頁 double click
/images/emoticon/emoticon25.gif

echochio iT邦高手 1 級 ‧ 2021-03-17 07:26:26 檢舉

+1

2
japhenchen
iT邦超人 1 級 ‧ 2021-03-17 08:04:29

有事件被重覆觸發,就算你找出發生事件的原因,你也很難排除有人為或有人按上一頁或重新整理....建議在form裡做一個guid值,頁面產生時賦值,寫入資料庫以它為pk,避免重覆submit的問題

人為: 爬蟲

0
koro_michael
iT邦新手 2 級 ‧ 2021-03-17 08:40:28

連毫秒都一樣那就不太可能是使用者誤操作搞出來的

重新追一下事件看看

我要發表回答

立即登入回答