将会话变量(或值1)删除到客户端的本地应用程序中

时间:2012-03-12 13:25:55

标签: c# asp.net

我正在尝试构建一个系统,当用户登录到在线ASP.NET站点时,用户ID(放在会话变量中)然后存储到本地应用程序(c#应用程序)中以后用。

到目前为止,我能想到的唯一方法是,当用户登录时,用户ID存储在客户端计算机上的文本文件中。但是,这不是一个理想的解决方案,因为这意味着本地客户端应用程序必须检查文件以确保内容没有更改(几乎每一秒,因为客户端应用程序始终具有正确的用户ID很重要)。

有什么建议吗?

1 个答案:

答案 0 :(得分:2)

当您说“用户ID存储在客户端计算机上的文本文件中”时,我推断您的意思是cookie,因为您只是无法通过Web应用程序在客户端计算机上存储文件,除非存在某种ActiveX控件参与。

您可以在客户端上完美地存储带有用户ID的cookie并使用您的控制台应用程序访问它,但这不是非常可靠,因为用户可以禁用cookie或者他可以清理cookie文件夹以及因为不同的浏览器使用不同的文件夹存储cookie。

因此,我的选择是将当前记录的用户存储在数据库中,并使控制台应用程序通过WCF服务轮询该信息。

如果您不想使用数据库,请将XML文件存储在可充当您的数据库的服务器上,并使用例如LINQ to XML来通过该WCF服务检索数据。

我们可以将其他选项等同于轮询您可以使用WCF双工服务的信息,并在用户登录后使WebService将该信息推送到客户端应用程序。