我想通过会话管理验证WPF客户端。 首先,用户在wpf表单的帮助下将访问WCF服务并生成一个标识ID,如果用户再次想要访问该服务,而不是使用用户名和密码进行身份验证,我们希望使用之前的标识ID进行身份验证。在上一步中生成。
如此善意地建议什么是获得所需输出的最佳方式?
我没有使用web.config文件。相反,我在C#代码中使用配置部分,如下所示: -
[ServiceContract(SessionMode=SessionMode.Required)]
public interface Iexecute {
[OperationContract]
string loginUserName();
[OperationContract]
string LoginPassword(string SessionId);
}
[ServiceBehavior(InstanceContextMode=InstanceContextMode.PerSession)]
public class Execute : Iexecute, IDisposable
配置的另一部分是: -
ServiceHost host = new ServiceHost(typeof(Execute), new Uri("net.tcp://localhost:4233"))) { host.AddServiceEndpoint(typeof(Iexecute), new NetTcpBinding(), "Execute");
NetTcpBinding tcpsessionBinding = new NetTcpBinding(); tcpsessionBinding.ReliableSession.Enabled = true; tcpsessionBinding.ReliableSession.InactivityTimeout = TimeSpan.FromMinutes(25);
答案 0 :(得分:0)
如果你想使用session for wcf service,那么你必须在客户端使用单个代理服务。来自同一个客户端的同一个服务的更多代理将创建一个新的session.Its更好地在客户端使用singleton代理可能会满足你的需要。
请参阅此文件以了解WCF会话和实例管理