WCF的若干问题,恳请各位近来指教一二!
1:如何记录已经建立连接的用户?我需要建立一个LIST,将已经建立连接的用户存放到这个LIST中,以便知道有多少连入用户和接下来进行某些操作。我没有找到关于建立连接的事件……
2:关于回调,如何做到随时像某个用户进行回调操作?也就是发消息给用户?我知道现在回调只能在用户调用了服务的方法后,在方法里面进行回调,如果我想在若干秒以后,将TEXTBOX1中的字符串发给用户的话,该怎么办?如果不是在用户调用的方法内回调的话,会得到一个“未将对象引用设置到对象的实例”的异常!此时的OperationContext.Current对象为NULL,也就是丢失了服务的上下文。
3:如果定义一个全局变量?启动了服务以后,根据会话模式,好象所有的变量都成了会话内部的变量了。比如我设置会话模式为InstanceContextMode.PerSession,那么所有的会话都可以使用他们自己的变量,也就像线程中的变量一样各自是各自的并不会互受影响。但是我现在假如需要定义一个全局的,该如何定义呢?例如我想定义一个全局的LIST<T>变量,来存放已经建立连接的用户,还有一些其他的信息等。
我是想使用比较成熟的模型来建立C/S程序,当然不是那种客户端-数据库的那种,这样的直接连数据库没任何安全性,也不想将数据库直接暴露在外,我想建立的是客户端-服务端-数据库这种构架!虽然说可以使用SOCKET,但是其很难控制,做做聊天室等简单的不用说了谁都会,没有技术含量。但是如果要传递表,结构等一些数据会变的很麻烦,可以序列化,但是很难控制一些诸如“粘包”等问题!
是我自己想错了WCF并不适合设计这种构架,还是说有其他的什么解决方案呢?请各位指教一二!!谢谢!