我正在使用 C# ASP.Net 编写一个简单的聊天 Web 服务,这是我的新手。
服务器维护一个List<ConnectedUser>
,其中ConnectedUser
对象是一个包含 ID、用户名和等待消息列表的类。
我希望所有连接的客户端都能够访问服务器上的列表。
我尝试了应用程序状态,但我发现它不会保存自定义类,即使我让它可序列化。我尝试了一个包含全局变量的静态类。两者都不会在对服务的调用之间保持更改。
我应该怎么做?谢谢你。
为了在应用程序状态中存储自定义类,您不需要序列化/反序列化,通常它们可以访问。
以下是一些讨论这个问题的线程:
几个选项(我们同时使用):
1) 将要访问的值存储在在 global.asax 中或在第一个用户请求中初始化的静态类中。
2)将值存储在HttpRunTime.Cache中,特别是如果需要定期刷新(您可以在超时事件中刷新)。