如何在从 Windows Phone 7 调用的 WCF 服务中配置会话

本文关键字:WCF 服务 会话 配置 调用 Windows Phone | 更新日期: 2023-09-27 17:56:59

我有一个从WP7调用的服务。我知道WP7(Silverlight)直到今天只支持基本的HtptBinding,不幸的是它不支持Session,所以我不能在此服务中使用InstanceContextMode.PerSession和SessionMode.Required。但是我在服务器上有一些数据,我需要在会话的基础上保留它。我有哪些选择?

如何在从 Windows Phone 7 调用的 WCF 服务中配置会话

我不

熟悉Windows Phone 7编程,但如果它允许你使用basicHTTPContextBinding,这是basicHTTPBinding的一种风格,那么我建议你研究一个持久服务。

持久

服务允许您将会话状态保存在一些持久存储中,并通过令牌通过每个新方法调用来访问它。

看看这个链接的博客文章。

即使你无法创建正式的持久服务,你也可以创建类似想法的东西 - 传递令牌(登录名/用户ID或其他东西)并从持久存储中读取状态 - 数据库表或其他东西。

如果您让它正常工作,请告诉我们!

您可以在服务器端的静态类中使用 ConcurrentDictionary,以用户的身份作为键来缓存对象。 如果需要缓存很长时间,则需要在 Windows 服务中托管服务,以避免应用程序池循环等问题。