2011-11-04 23 views
0

我從ASP.NET MVC應用程序調用第三方API。此API使用通過調用「續訂」API獲得的服務/ API令牌。 5天后過期。更新ASP.NET MVC應用程序中的API令牌

如果您調用其中一個服務的API且令牌過期,則會出現「api令牌過期」錯誤,您可以調用更新功能。

我不想這樣做,因爲它不得不始終檢查「api標記已過期」錯誤並讓邏輯重試。我寧願只確保續訂功能被稱爲「相對頻繁但不是每次請求」。

我不想使用計時器或時鐘解決方案,如果我可以避免它。

我以爲我會在某個地方閱讀IIS7 +默認自動循環定期應用程序實例。如果這個默認值少於5天,那麼我可以使用Application_Start。

+0

我寧願不依賴於IIS設置,因爲這些可以由管理員根據規則/策略進行更改。爲什麼不將令牌存儲在數據庫中,並且每隔5天都有一個可以更新令牌的Windows服務?這將是安全的,並將工作100%的時間。 – Suhas

+0

@Suhas - 是的,您的設置可以通過服務器管理員進行更改,但我無法預見應用程序不會連續5天回收的情況。這甚至有可能嗎?..我相信Application_Start是相對安全和適合這個邏輯發生的地方。 – niaher

回答

1

你可以只使用Application_Start,並檢查它已經因爲你更新的道理,也許通過存儲在最後一個記號在數據庫或文件被檢索的DateTime最後一次至少x時間。

您不應該爲此自動啓動應用程序。

(我的建議是使用API​​中它應該被使用的方式,我們可能會遇到與如果請求過於頻繁,如API提供的一個問題)

相關問題