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