2011年12月20日 星期二

[Asp].Randomize 對亂數產生器做初始化的動作

當使用者上傳檔案到主機上時,通常會依亂數重新命名, 但為了避免同一個時間點(同一分同一秒)有人同時傳檔案, 程式同時被呼叫, 產生出一樣的檔案, 所以會使用 rnd() 取亂數指令,
但...如果沒有Randomize做初始化亂數產生器,每次更新後產生的數字都會一樣.


沒有下的話, 如下圖, 最後幾碼都一樣, 因為 rnd() 進亂數表的進入點是相同的.



多下一行 Randomize
就有立竿見影的功效, 檔名的後幾碼就不再固定是 02867.



道理很簡單, 奇怪的是大家滿容易乎略, 覺得電腦預設應該就要是 randomized 過.

沒有留言:

張貼留言

Facebook 留言板