2012-07-07 58 views
0

我正在ASP.NET中構建一個基於web的國際象棋,它的想法是在會話中保留關於表的位置信息(輪到誰了......)作爲對實例的引用Game類存儲所有需要的信息。在不同的會話中引用相同的對象

我不知道如何讓兩個玩家的會話都包含對服務器上同一對象的引用,以便當一個玩家移動時,其他人在其會話中已經提供了有關該移動的信息。

即使是一種有效的方法,因爲我想避免大量的數據庫訪問?

回答

0

像「誰是它」這樣的事情需要保持在應用程序級別。所以要麼使用靜態變量,要麼使用Application集合。就個人而言,我會使用靜態的「遊戲」對象集合。您還需要牢記線程安全,因爲所有會話都可以訪問相同的集合。

+0

嗯,我不明白爲什麼「輪到誰了」需要保存在應用程序級別?雙方球員無論在哪裏都可以訪問這些信息,這不是很重要嗎? 但你給了我一個想法,使用應用程序集合來「分享」一個遊戲給兩個玩家的引用! – 2012-07-08 13:38:05

+0

對於兩名球員只有1轉,並且需要存儲在「遊戲」對象中。兩個玩家都需要訪問遊戲,因此將其存儲在內存中的邏輯位置應該在應用程序級別。如果您不想將信息存儲在內存中,請使用數據庫。 – 2012-07-08 13:42:49

相關問題