Tag: 会话

当Session.Abandon()不起作用时,如何以编程方式结束asp.net中的会话?

Session.Abandon()似乎没有做任何事情。 在调用Session.Abandon()时,您可能希望触发Session_end事件。

在Asp.net中每个用户只能进行一次并发登录

是否可以在Asp.Net Web应用程序中仅允许每个用户进行一次并发登录? 我正在开发一个Web应用程序,我希望确保该网站每个用户一次只能登录一次。 如何检查当前用户是否已登录。 建议正确的登录方法,我们可以通过它来处理这个问题 我认为我们应该使用sql server session state来处理这个问题。 你的建议是什么? 我想到了一个解决方案。 我不知道它是否合适。 我们可以这样做: 当用户登录系统时,我们在用户列中插入会话ID。 (我们将使用数据库会话,以便我们可以轻松获取所有与会话相关的数据,如isexpired,expiredatetime等)。 当同一用户尝试第二次登录时,我们将检查该会话ID列并检查该会话是否已过期。 如果会话未过期,我们将不允许用户登录。 每次用户注销时更新用户会话ID。 请以正确的方式建议。

用于C#的Windows窗体应用程序的会话

是否存在基于Windows的C#应用​​程序的会话,以便记录登录和注销多个用户的详细信息? 我试图使用声明静态变量,但它与会话不同。

如何获得会话结束的通知?

我想知道我是否可以处理会话超时事件。 我需要在会话超时或用户离开我的页面或关闭浏览器窗口之前对我的函数进行函数调用。 这里最重要的部分是访问会话期间存储的所有内容,会话变量。

重置会话超时而不在ASP.Net中进行回发

有没有办法在不进行回发的情况下重置会话超时? 在这种情况下,我不只是想隐藏用户的回发,我需要在没有回发的情况下重置超时。 在我的页面上,我需要弹出一个对话框,告知用户他的会话超时,如果他想保持活动,他需要点击一个按钮。 现在,当他点击该按钮时,我不想回发页面,因为它会导致数据出现问题。 (没有涉及问题) 根据答案,我修改了代码,但它仍然无法正常工作。 docs.google.com/open?id=0B-Pl5DH2W9MvMDV6SUNiTXR0Z2M

使用会话变量有多安全 – asp.net / c#

所以基本上我想知道我使用Session变量的方式有多安全。 我有一个登录表单,用户输入他的用户名/密码,然后进行参数化,然后查询,如果存在用户名/密码,则从db表返回userID。 这对每个用户都是独一无二的。 当我有这个值时,这就是我想知道这种方式是否是在会话变量uID中存储userID的安全方式? 无论如何我是这样做的, Session[“uID”] = (int)dt.DefaultView[0][“userID”]; FormsAuthentication.RedirectFromLoginPage(username.Text, false); Response.Redirect(“userPage.aspx”, false); 然后页面被重定向到另一个页面,我使用会话变量从数据库中获取用户表。 提前感谢您的反馈

无法序列化会话状态

当我的应用程序联机并尝试登录时,我收到此错误: Server Error in ‘/’ Application. Unable to serialize the session state. In ‘StateServer’ and ‘SQLServer’ mode, ASP.NET will serialize the session state objects, and as a result non-serializable objects or MarshalByRef objects are not permitted. The same restriction applies if similar serialization is done by the custom session state store in ‘Custom’ mode. Description: […]

如何上传文件并将其保存到Stream以便使用C#进一步预览?

有没有办法上传文件,将其保存到Stream,这个Stream我会暂时保存在Session中,最后,我会尝试预览这个Session中的上传文件? 例如,pdf文件。 谢谢!! EDITED 这是我正在尝试做的事情: HttpPostedFileBase hpf = Request.Files[0] as HttpPostedFileBase; byte[] buffer = new byte[hpf.InputStream.Length]; MemoryStream ms = new MemoryStream(buffer); ms.Read(buffer, 0, (int)ms.Length); Session[“pdf”] = ms.ToArray(); ms.Close(); 在另一种方法中,我这样做: byte[] imageByte = null; imageByte = (byte[])Session[“pdf”]; Response.ContentType = “application/pdf”; Response.Buffer = true; Response.Clear(); Response.BinaryWrite(imageByte); 但没有任何事情发生…我的浏览器甚至打开一个nem页面来显示pdf文件,但是会显示一个窗口,说该文件不是pdf(或者文件不是用pdf启动的,我不明白那)

在共享同一会话时处理另一个Web应用程序时阻止Web应用程序

在IIS中部署了两个WebApplications,即/ HRMS,/ TravelDesk。 两个WebApp都通过AspState共享会话,配置信息是 用户登录/ HRMS应用程序,从导航到新窗口的TravelDesk应用程序,会话将在两个Web应用程序之间共享。 在TravelDesk应用程序中,用户正在尝试上传大量信息,并且在服务器中处理请求需要更多时间。 同时我试图访问/ HRMS应用程序,但在TravelDesk执行完成之前它没有响应? 会话会锁定SQLServer吗? 请指导我解决此问题。