0
我有ASHX用戶上傳產品圖像,我保存會話[「up_pro_image」]中上傳的文件名。提交時,我閱讀會話值並使用文件進行操作。但是如果他打開了兩頁並在兩個頁面上添加產品,那麼如果從會話中丟失了一個文件名,該怎麼辦?如何解決這個問題?在兩個瀏覽器和不同的會話相同的頁面 - ASHX
我有ASHX用戶上傳產品圖像,我保存會話[「up_pro_image」]中上傳的文件名。提交時,我閱讀會話值並使用文件進行操作。但是如果他打開了兩頁並在兩個頁面上添加產品,那麼如果從會話中丟失了一個文件名,該怎麼辦?如何解決這個問題?在兩個瀏覽器和不同的會話相同的頁面 - ASHX
不是將它保存到會話中,而是將事件寫入數據庫。每個文件都可以有一個名爲「IsProcessed」的標誌。然後,您的代碼可以在數據庫中查詢所有未處理的文件,處理它們,然後將該標誌設置回數據庫中。
從我看,這幾乎是一樣的。如果他打開了兩頁,按上傳生病會收到兩個文件,但我不知道哪個文件用於切換頁面(頁面爲瀏覽器選項卡)。 – 2012-04-05 20:59:12
幾乎一樣,除非你沒有丟失任何數據點!你不能調整你的應用程序,以便它不關心哪個標籤提交文件,只要它們在同一個會話中? – mgnoonan 2012-04-05 21:18:54
林不知道你是否明白我的觀點,但現在解釋更多。 比方說,你是與我的用戶登錄,我也與我的用戶登錄。 比方說,你點擊「AddProduct.aspx」,我也點擊該頁面。 現在你上傳文件,但我也上傳文件。 當你點擊保存時,那個文件是給你的? 我知道這可以通過將ASHX響應保存到隱藏字段來完成,然後檢查具有該GUID的文件是否存在等等,但更安全嗎? – 2012-04-05 22:01:48