当前位置:  开发笔记 > 编程语言 > 正文

如何在C#中通过网络提供单例对象?

如何解决《如何在C#中通过网络提供单例对象?》经验,为你挑选了1个好方法。

我正在用C#为学校项目创建一个纸牌游戏.这个纸牌游戏是联网的.纸牌游戏的游戏数据作为gameData存储在单个对象中.gameData保持,玩家姓名,游戏等待的玩家,玩家对象.每个玩家有3个List对象.卡片再次是自定义对象.最初我打算为每个card,player和gameData对象创建一个ToByte()方法,并将它们序列化以使用TCPlistener通过网络发送.然而,我正在寻找其他方式.

这些是我听说过的解决方案:

-SOAP(不知道如何实现这个)

-Database(对于LAN来说似乎有点过分,除非可以使小型数据库服务器在运行中运行)

-Client Activated Object(但这会为每个客户端创建不同的单例)

我想做的是让每个客户端使用他们自己的gameData但使用get,设置它将与托管这个singleton对象数据的服务器通信.您有什么推荐的吗?



1> TJB..:

WCF支持单例服务

[ServiceBehavior(InstanceContextMode = InstanceContextMode.Single)] 
class MySingleton : ...
{...}

这样,您就拥有一个服务于所有客户端的服务实例.

WCF使用很少的网络代码轻松进行网络通信.

有关更多详细信息,请查看此文章.

将单例实例与您找到的任何WCF教程相结合,您应该有一个很好的起点.

祝好运.

推荐阅读
135369一生真爱_890
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有