Online.aspx.cs
上传用户:xgw_05
上传日期:2009-12-11
资源大小:20208k
文件大小:4k
源码类别:

OA系统

开发平台:

C#

  1. using System;
  2. using System.Collections;
  3. using System.ComponentModel;
  4. using System.Data;
  5. using System.Drawing;
  6. using System.Web;
  7. using System.Web.SessionState;
  8. using System.Web.UI;
  9. using System.Web.UI.WebControls;
  10. using System.Web.UI.HtmlControls;
  11. using UDS.Components;
  12. using System.Web.Security;
  13. namespace UDS.SubModule.UnitiveDocument
  14. {
  15. /// <summary>
  16. /// Online 的摘要说明。
  17. /// </summary>
  18. public class Online : System.Web.UI.Page
  19. {
  20. protected System.Web.UI.WebControls.Literal lit;
  21. protected System.Web.UI.WebControls.Label lblOnlineCount;
  22. private void Page_Load(object sender, System.EventArgs e)
  23. {
  24. if(!Page.IsPostBack)
  25. {
  26. CheckUpdate();
  27. }
  28. }
  29. private void CheckUpdate()
  30. {
  31. #region 1.更新activetime 2.判断sessionid 3.删除十分钟内未活动人 4.拿到最新在线人数
  32. SMS sm = new SMS();
  33. try 
  34. {
  35. // ReturnID -1 是指非法登陆 -2指有新的短消息
  36. string Username = Request.Cookies["Username"].Value.ToString();
  37. string SessionID = Request.Cookies["ASP.NET_SessionId"].Value.ToString();
  38. string NodeID = (Request.Cookies["ActiveNodeID"]!=null)?Request.Cookies["ActiveNodeID"].Value.ToString():"0";
  39. //UDS.Components .Error.Log(Username+"11"+SessionID+"||"+NodeID);
  40. string ReturnStr = sm.CheckUpdate(Username,SessionID,Int32.Parse(NodeID));
  41. string ReturnID = ReturnStr.Substring(0,ReturnStr.IndexOf("|"));
  42. string NewMsgFlag = ReturnStr.Substring(ReturnStr.IndexOf("|")+1);
  43. if(ReturnID!="-1")
  44. {
  45. if(NewMsgFlag=="1") //incoming a new msg
  46. {
  47. if(Request.Cookies["UDS_RemindType"]!=null)
  48. {
  49. if(Request.Cookies["UDS_RemindType"].Value.ToString()=="1")
  50. lit.Text="<script language=javascript> mytop=screen.availHeight-310;myleft=0;var newmsgwin=window.open('../SM/MsgManage.aspx','auto_call_show','height=230,width=400,status=0,toolbar=no,menubar=no,location=no,scrollbars=yes,top='+mytop+',left='+myleft+',resizable=yes');newmsgwin.focus();</script>";
  51. else
  52. lit.Text = "<a href='#' onclick='show_sm()'><img src='../../Images/smsremind.gif' border=0></a>";
  53. }
  54. else
  55. {
  56. lit.Text="<script language=javascript> mytop=screen.availHeight-310;myleft=0;var newmsgwin=window.open('../SM/MsgManage.aspx','auto_call_show','height=230,width=400,status=0,toolbar=no,menubar=no,location=no,scrollbars=yes,top='+mytop+',left='+myleft+',resizable=yes');newmsgwin.focus();</script>";
  57. }
  58. }
  59. this.lblOnlineCount.Text = ReturnID.ToString();
  60. }
  61. else
  62. {
  63. // clear everything
  64. //FormsAuthentication.SignOut();
  65. // Request.Cookies.Clear();
  66. // HttpCookie UserCookie     = new HttpCookie("UserID", string.Empty);
  67. // HttpCookie UserNameCookie = new HttpCookie("Username", string.Empty);
  68. // Response.Cookies.Add(UserCookie);
  69. // Response.Cookies.Add(UserNameCookie);
  70. // Session.Clear();
  71. Response.Write("<script language=javascript>alert('有相同用户登陆或同一机器两用户登陆,窗口将自动关闭!');top.close();</script>");
  72. }
  73. }
  74. catch(Exception ex)
  75. {
  76. UDS.Components.Error.Log(ex.ToString());
  77. Server.Transfer("../Error.aspx");
  78. }
  79. #endregion
  80. }
  81. #region Web Form Designer generated code
  82. override protected void OnInit(EventArgs e)
  83. {
  84. //
  85. // CODEGEN:该调用是 ASP.NET Web 窗体设计器所必需的。
  86. //
  87. InitializeComponent();
  88. base.OnInit(e);
  89. }
  90. /// <summary>
  91. /// 设计器支持所需的方法 - 不要使用代码编辑器修改
  92. /// 此方法的内容。
  93. /// </summary>
  94. private void InitializeComponent()
  95. {    
  96. this.Load += new System.EventHandler(this.Page_Load);
  97. }
  98. #endregion
  99. }
  100. }