让我们考虑一下这个聊天服务:(可以找到整个应用程序here)
[ServiceContract(SessionMode = SessionMode.Required, CallbackContract = typeof(IChatCallback))]
interface IChat
{
[OperationContract(IsOneWay = false, IsInitiating = true, IsTerminating = false)]
string[] Join(string name);
[OperationContract(IsOneWay = true, IsInitiating = false, IsTerminating = false)]
void Say(string msg);
[OperationContract(IsOneWay = true, IsInitiating = false, IsTerminating = false)]
void Whisper(string to, string msg);
[OperationContract(IsOneWay = true, IsInitiating = false, IsTerminating = true)]
void Leave();
}
Join方法启动会话,Leave方法结束它。 假设我想验证我的用户,创建一个服务IAuth让我们说两种方法登录和注销。我应该如何启动和终止会话(因为我读过这个应用程序需要一个会话),在这种情况下,有不同的服务? PS:我是wcf的新手,所以任何一条建议都有帮助。感谢
答案 0 :(得分:1)
您不需要自己启动或终止会话(尽管技术上可行)。 WCF将为您做到这一点。它将在调用Join
后启动会话,并在调用Leave
后终止会话。