1)您的隨機數發生器必須是可重複的:通過爲每個用戶使用唯一的種子並使用Random()類,可以跨多個HTTP請求生成相同的隨機數序列 。但是,您必須將種子存儲在某處(我會建議一個cookie或隱藏的輸入元素)。
public Random GetGenerator() {
DateTime now = new DateTime();
long ticks = now.Ticks();
if(getCookie("ticks") > 0) {
// existing user:
ticks = getCookie("ticks"); // you must implement this to get the user's seed
} else {
// new user:
setCookie(now.Ticks()); // you must implement this to set a Cookie/input field value
}
return new Random(ticks);
}
2)您必須生成M *(N-1)數字以最終得到頁面N的隨機數,其中M是每頁的項目數。只有這樣你才能開始爲請求的頁面生成隨機數字。
我試過這種技術。我做了和你寫的一樣的東西。現在發生的是它在我的機器上正常工作。它生成一組具有給定種子的隨機數。 當我把它放在QA服務器上時,它會爲給定的種子返回不同的值,這在技術上不應該這樣做。 任何想法? – sajidnizami 2009-05-25 07:51:24