2010-10-22 170 views
0

我很喜歡ASP.NET編程,我對現在面臨的問題感到困惑。ASP.NET:集羣環境通信問題

我們一樣,在我公司的開發者,住在像圖

alt text

沒有什麼特別所示的集羣環境。 您會看到,IIS網站在evry FrontEnd服務器上重複。業務邏輯駐留在後端,與防火牆後面的數據庫和NAS文件系統共享。

因此,公共空間與受保護者之間的通信只能通過特定的渠道,特別是針對特定IP和協議的請求獲得許可。

現在,我們被要求建立一個網站,用戶可以定製他自己的環境,上傳圖像,這將顯示在他的主頁和其他功能。

在傳統配置中,用戶上載圖像,該圖像寫在網站根目錄的文件夾中,然後HTML引用該圖像來填充任何控件以顯示它。 但是,當用戶連接到我們的網站時,負載平衡器將選擇一個與evry會話不同的特定前端。 因此,用戶將上傳他的文件,斷開連接,然後再次發現他的映像已經消失,「Load Balancer將請求發送到不存在映像的不同前端。

所以需要編寫一段代碼,將文件從防火牆後面的NAS中拉出來。 上傳部分是愚蠢的,我可以理解它。

我的問題是: 當用戶連接到他的頁面時,我如何在HTML中引用不在機器上運行的網站上的圖像,而是在完全隱藏的文件系統上?

我想寫一個WCF服務的圖像作爲一個字節流,但哪個ASP.NET控件使用頁面上的流內容,以及如何?

我知道,問專家社區會給我帶來最好的方式來實現這一目標。

希望這已經夠清楚了。

非常感謝重播,請原諒我的英文不好。

+0

你們看到圖像了嗎? 我看不到它,但是我支持WebSense,我不確定它是否阻止了它或存在上傳問題。 – vaitrafra 2010-10-22 10:12:06

+0

圖像適合我。 – 2010-10-22 10:13:35

回答

1

而不是使用您的文件系統的用戶圖像,我會建議你去一些CDN解決方案,如Amazon S3或其他一些你喜歡的。這種方式你不需要照顧圖像存儲或請求的地方,它應該始終通過CDN URL(當你在CDN上以編程方式上傳圖像時給出)進行訪問,其URL必須位於數據庫中。使用CDN讓您在存儲您的位置時可以面對許多擔憂。

儘管如果您不喜歡使用S3,那麼您的選擇足以開發一個簡單的WCF/WEB服務來上傳/提供圖像。

+0

這肯定是一個不錯的答案,如果只有2年後纔給出:) – vaitrafra 2012-08-20 07:09:03