2012-02-03 70 views
1

這是我一直在思考的一段時間的問題:-)客戶經常詢問是否有可能創建一個實時頁面更新,只要他們上傳即視頻到他們的YouTube帳戶,將新圖像添加到他們的Flickr帳戶等。所以基本上情況是這樣的:來自外部服務的ASP.NET即時頁面更新

  • 客戶A訪問www.mywebsite.com,它提供了一個YouTube視頻或flickr圖像列表。
  • 管理員在YouTube上上傳新視頻或將新圖片上傳到他/她的flickr帳戶。
  • 當視頻/圖像已上傳時,www.mywebsite.com會得到有關更改的通知並更新客戶端A正在查看的列表。

我知道這個觀察者模式的尖叫,但我不認爲可以使用crossdomain,不是嗎? :-)

另一種解決方案是對RSS Feed或YouTube/Flickr API每X分鐘進行一次AJAX調用。

任何人都知道最佳實踐時,發展呢?任何幫助/提示將不勝感激。

回答

1

安排讀取RSS/API並使用新信息填充數據庫的某種任務。

該頁面會定期檢查數據庫中的新值(可能設置讀取值,或基於最後一次檢查的日期時間),AJAX會將魔術添加到頁面中。

Theres沒有理由爲什麼AJAX無法安排RSS/API檢查,但我懷疑這將會擴展。

理想情況下,我會在ASP.NET之外編寫一個服務來執行該檢查,並將結果填充到數據庫中。

+0

嗨Jroc,謝謝你的回答! :)我實際上只想設置一個JS無限計時器,只要客戶端每隔5秒左右就對RSS/API進行一次AJAX調用的頁面,但不知道這是否是最佳實踐。需要大量的電話!雖然我沒有理由將YT/Flicker數據存儲在數據庫中,但這只是我:) – bomortensen 2012-02-03 14:02:30

+0

也許如果每個用戶都是獨一無二的,因爲他們都跟蹤不同的youtube/flicker提要,那麼也許你可以不做數據庫中間人。否則在本地緩存數據將是我的選擇,因爲你會有更快的數據加載時間 – Jroc 2012-02-03 14:26:18

+0

我同意,Jroc :)訪問者將不是唯一的,他們應該都看到相同的內容。所以我認爲緩存將是一個很好的電話!非常感謝您的意見,分享知識和最佳實踐總是令人愉快的。 – bomortensen 2012-02-03 15:16:09