我正在使用asp.net + C#創建用戶,它是收集信息並將數據發送到業務層的表單(UI)。現在,在從UI收集信息的同時,我也希望將用戶的圖像保存在應用程序域的文件系統中。在asp.net中保存文件並將信息保存在數據庫中
業務層中有一個函數SaveImage,它返回它保存的路徑。 場景: 1)首先保存圖片,然後在數據庫中保存其他信息。 2)首先將信息保存在數據庫中,然後上傳圖像。
哪種情況最好。如果場景1更好,那麼保存圖像會崩潰怎麼辦?
我正在使用asp.net + C#創建用戶,它是收集信息並將數據發送到業務層的表單(UI)。現在,在從UI收集信息的同時,我也希望將用戶的圖像保存在應用程序域的文件系統中。在asp.net中保存文件並將信息保存在數據庫中
業務層中有一個函數SaveImage,它返回它保存的路徑。 場景: 1)首先保存圖片,然後在數據庫中保存其他信息。 2)首先將信息保存在數據庫中,然後上傳圖像。
哪種情況最好。如果場景1更好,那麼保存圖像會崩潰怎麼辦?
我的建議是更好地把兩者的Transaction scope。如果一個失敗,都應該回滾
選項2更好,因爲現在您確定該文件已保存在根目錄中。
如果先保存記錄,然後保存圖像文件失敗,則需要從數據庫中回滾或刪除記錄。
我希望它可以幫助你
第一個是更適合然後第二個,因爲如果你不保存文件,然後你必須去另一個數據庫訪問或想想如果你在同一時間與DB的鬆散連接,那麼你有一個垃圾信息在DB中沒有文件。這可能會在未來
因此,更好地導致更多的錯誤首先使用
我@anishmarokey同意,看來你應該有這在某種形式的交易中,不管保存的順序如何,數據只保留,如果一切順利......並且適當的反饋,否則
即被說,做用戶或管理員(或誰)有能力改變用戶的形象?因爲您的屏幕創建用戶,創建用戶並保存它們,然後擁有允許編輯用戶圖像的另一個屏幕或功能可能更有意義。當用戶想要更改圖像時,可以重新使用該功能。
因此,您的應用程序可能會有一個「默認」圖片(經典矢量頭輪廓),然後一旦用戶上傳新圖像或更改圖像,就會使用該圖像而不是默認圖像。