与Web服务共享Web应用程序会话

时间:2012-03-20 14:22:38

标签: c# asp.net .net-3.5 web asmx

环境:

我们有一个网站和一个单独的 ASMX - Web服务共享同一个数据库(MS SQL 2008)。 Web Service目前正在为移动应用程序提供服务。项目使用c#,Asp.Net,3.5框架,VS 2008完成。

要求:

我们需要避免同一用户同时登录网站和移动应用程序(使用Web服务)。基本上,用户一次只能登录一个服务(Web或应用程序)。此外,用户应该能够在Web浏览器关闭或注销后立即登录移动应用程序。

如果用户在登录其他服务时尝试登录,则代码应该有办法找到它以进行通知和限制。

我认为AppFabrc符合要求,但需要我们目前没有的Windows Server 2008 R2。

希望你有更好的想法?

请注意,这与this不同。

2 个答案:

答案 0 :(得分:0)

仅供参考...浏览器关闭时,您不会收到任何通知。您可以根据上次活动时间(基本上跟踪用户活动 - 页面点击等)。我也看不到appFabric将如何提供帮助。你仍然有同样的问题。

答案 1 :(得分:0)

正如其他人所提到的,没有简单的方法可以知道有人关闭浏览器的时间。您可以使用javascript检测某人何时离开您的网络应用但有一些问题(请参阅以下问题和解答以获取更多信息:How to capture the browser window close event?

如果您对其他工作流程持开放态度,可以试试这个:

  • 当用户登录移动应用时,让移动应用将他从网站上注销。
  • 当用户登录网站时,让网站将他从移动应用程序中注销。

这样您的用户就可以登录并立即开始工作,而不必登录,查看错误,从其他应用程序注销,再次登录。