启动会话问题

时间:2010-07-02 12:15:53

标签: wcf

让我们考虑一下这个聊天服务:(可以找到整个应用程序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的新手,所以任何一条建议都有帮助。感谢

1 个答案:

答案 0 :(得分:1)

您不需要自己启动或终止会话(尽管技术上可行)。 WCF将为您做到这一点。它将在调用Join后启动会话,并在调用Leave后终止会话。