易截截图软件、单文件、免安装、纯绿色、仅160KB

asp.net 单用户登录经典解决方案

这里指的单点,泛指在WEB服务端,一个账户同一时刻只能存在一个票据!
大家开发中可能都碰到的一个问题,怎么使同一个用户,在同一时间内只允许登录一次。
很多人都会想到在数据库中用一个标识字段,登录进去置1,退出置0,登录时判断这个字段,如果是1就说明此用户在线,不允许登录,这个方案看似有效,但在实际使用中发现问题很多,比如,用户不是通过程序中的退出按纽退出,而是直接关闭IE,这样的话,下次登录时数据库里此用户还在线呢,这个用户就无法登录,当然也有一些办法可以解决这个问题:增加一个定时作业,定期复位那些长时间在线的用户,这样又会造成一些问题,如果这个用户实际上就是使用了这么长时间,那就是误杀。
通过多次实验,发现.net本身可以提供这种解决方案。步骤如下:
第一:建立global.asax文件, Session_End 事件中写入如下代码:
             Hashtable h = (Hashtable)Application["online"];
             if (h[Session.SessionID] != null)
                 h.Remove(Session.SessionID);
             Application["online"] = h;
第二:修改web.config文件,在system.web 结点里面增加
<sessionState mode="InProc"></sessionState>
这个是为了使用global.asax中的session_end事件生效。
第三:页面的登录事件中,判断登录用户是否在服务端全局变量中存在,存在就不允许登录,不存在就创建。以下是实现过程,登录按纽的事件中调用。
private void isLogin()
     {
         Hashtable h = (Hashtable)Application["online"];
         if (h == null)
         {
             h = new Hashtable();
         }
         //验证用户是否在Application中存在(是否在线)
    &n


相关文档:

asp.net中的窗体身份验证(完整篇之五:退出登录)

    前面介绍过了如何使用Forms方式进行用户身份验证,然而,在大多网站中都会有一个“退出”功能,让用户可以通出登录。在asp.net中,退出的方式很简单,只要在退出页面中加上代码“FormsAuthentication.SignOut()”即可。
    你可以使用Response.Redirect()在退出之 ......

Asp.net中自定义控件引用javascript中的日历脚本心得


自定义控件中的页面代码:
<%@ Control Language="C#" AutoEventWireup="true" CodeFile="wcontrol.ascx.cs" Inherits="wcontrol" %>
<script type ="text/javascript">
function PopupCalendar(InstanceName)
{
///Global Tag
this.instanceName=InstanceName;
///Properties
this.separator="-"
t ......

Asp.Net使用Cache 心雨之家

Cache 即高速缓存 ,我想很多人对他的第一印象一定像我一样,感觉他一定能提高系统得性能和运行速度。的确。Net推出cache的初衷确实是这样的。那么cache是如何提高系统性能与运行速度呢?是不是在任何情况下用cache都能提高性能?是不是cache用的越多就越好呢?我在近期开发的项目中有所体会,写下来当作总结也希望能跟大家 ......

ASP.NET 自定义 TreeView Web 服务器控件的外观

TreeView 控件的呈现是可完全自定义的,这使得可以使用多种多样的显示样式。
  若要自定义 TreeView 控件的外观,可以执行以下操作:
   ·指定影响控件显示和呈现的 TreeView 控件属性。
  ·指定一个 ImageSet 属性,该属性选择一组在运行时同控件一起呈现的内置图像。
  ·指定用于控制 T ......

asp.net 中嵌入视频播放器

 <object classid=clsid:22D6F312-B0F6-11D0-94AB-0080C74C7E95 width="352" height="352" id=MediaPlayer1>
<param name=AudioStream value=-1>
<param name=AutoSize value=-1>
<!--是否自动调整播放大小-->
<param name=AutoStart value=0>
<!--是否自动播放-->
<par ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号