⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 global.asax.cs

📁 网站CA认证源代码
💻 CS
字号:
using System;
using System.Collections;
using System.ComponentModel;
using System.Web;
using System.Web.SessionState;
using JITOCSPAPICOMLib;
using System.Configuration;
using JCAPICOMLib;
using JITTSAAPICOMLib;
using Com.SystemFramework;
using Com.Common;
using System.IO;
using System.Runtime.Remoting;
using System.Text;
using System.Diagnostics;
namespace ENet.CA 
{
	/// <summary>
	/// Summary description for Global.
	/// </summary>
	public class Global : System.Web.HttpApplication
	{
		/// <summary>
		/// Required designer variable.
		/// </summary>
		const string sourceName      = "E3.Net V4.5 Runtime";
		const string serverName      = ".";
		const string logName         = "Application";
		const string uriFormat       = "\r\n\r\nURI: {0}\r\n\r\n";
		const string exceptionFormat = "{0}: \"{1}\"\r\n{2}\r\n\r\n";

		public JITOCSPAPICOMLib._JIT_OCSP_SystemEnvClass objOCSPSystemEnv ;
		protected int globalret;
		public static CApiEngine objAllEngine=null;

		private System.ComponentModel.IContainer components = null;

		public Global()
		{
			InitializeComponent();
		}	
		
		protected void Application_Start(Object sender, EventArgs e)
		{
			int lRet;
			try
			{
				//OCSP用
				globalret = 0;
				objOCSPSystemEnv = new _JIT_OCSP_SystemEnvClass();
				objOCSPSystemEnv.Finalize();				//先释放
				
				lRet = objOCSPSystemEnv.SetOption("d:\\com\\cryptodevice.ini","d:\\com\\jitocsp.ini");
				if( 0 != lRet)
				{
					globalret = -1001;
				}
	
				lRet = objOCSPSystemEnv.Initialize();
				if( 0 != lRet) 
				{
					globalret = -1002;
				}	

				string strWorkpath = ConfigurationSettings.AppSettings["strWorkpath"];
				//CApiEngine objEngine=null;
				try
				{
					objAllEngine =new JCAPICOMLib.CApiEngineClass(); 
					objAllEngine.CreateEngine(strWorkpath);	
					int nErrorCode = objAllEngine.ErrorCode;
					if(0!= nErrorCode)
					{
						lRet=-6;		//初始化引擎失败!				
					}
					else
					{
						lRet=0;		//初始化引擎成功
					}
				}
				catch
				{
					lRet=-103;
				}								
			}
			catch
			{}
			try
			{
				String appRoot = Context.Server.MapPath( Context.Request.ApplicationPath );		// 参考值 E:\E3.NET\Web\
				// ApplicationConfiguration.OnApplicationStart( appRoot );

				String appUpFilesRoot = ComConfiguration.UpFilesBasePath;						// 参考值 UpFiles\
				// TODO: 以后如果有必要,可以放到Web.config里面由ComConfiguration来读取
				String appWebRoot = "Web\\";													// 参考值 Web\

				String[] appValues = new String[4];												//第一行为 AppPath 第二行为 UpFiles虚拟目录的物理路径  第三行为Web虚拟目录的物理路径 第四行为应用程序的HttpURL
				appValues[0] = Context.Server.MapPath( Context.Request.ApplicationPath );		//	参考值 E:\E3.NET\Web\
				appValues[1] = Context.Server.MapPath("\\" + appUpFilesRoot);					//	参考值 \\e3\d$\E3.NET\Web\UpFiles\
				appValues[2] = Context.Server.MapPath("\\" + appWebRoot);						//	参考值 E:\E3.NET\Web\Web\
				appValues[3] = "http://" + Context.Request.ServerVariables["HTTP_HOST"]+"/";	//	参考值 http://www.yysoft.com
			
				ApplicationConfiguration.OnApplicationStart( appValues );
				// 此处可以再加入特定应用程序的配置信息,如
				// System.Configuration.ConfigurationSettings.GetConfig("XxxConfiguration");
				// XxxConfiguration 是在 Web.config 中定义的配置节


				string configPath = Path.Combine(Context.Server.MapPath( Context.Request.ApplicationPath ), "remotingclient.cfg");
				if(File.Exists(configPath))
					RemotingConfiguration.Configure(configPath);

				//在线人数
				Application["Online"]	 =	0;

				//站点名
				Application["Site_Name"] = ComConfiguration.SiteName;
			}
			catch
			{}
		}
 
		protected void Session_Start(Object sender, EventArgs e)
		{
			//开始记录登陆人数
			try
			{
				Application.Lock();
				if(Application["Online"]==null)
					Application["Online"]=1;
				else
					Application["Online"] = (int)Application["Online"]+1;
				Application.UnLock();
				//Globals.AddEventLog(SystemEventLogType.SuccessAudit , "成功登陆系统");
				Session["ISEngineNew"] = 1;		//0通过CA认证,1未认证

			}
			catch
			{}			
		}

		protected void Application_BeginRequest(Object sender, EventArgs e)
		{

		}

		protected void Application_EndRequest(Object sender, EventArgs e)
		{

		}

		protected void Application_AuthenticateRequest(Object sender, EventArgs e)
		{

		}

		protected void Application_Error(Object sender, EventArgs ea)
		{
			try
			{
				StringBuilder message = new StringBuilder();
    
				if (Request != null) 
				{
					message.AppendFormat(uriFormat, Request.Path);
				}
  
				if (Server != null) 
				{
					Exception e;
					for (e = Server.GetLastError(); e != null; e = e.InnerException)
					{
						message.AppendFormat(exceptionFormat, e.GetType().Name, e.Message, e.StackTrace);
					}
				}

				if (!EventLog.SourceExists(sourceName)) 
				{
					EventLog.CreateEventSource(sourceName, logName);
				}

				EventLog Log = new EventLog(logName, serverName, sourceName);
				Log.WriteEntry(message.ToString(), EventLogEntryType.Error);
				//Server.ClearError();
			}
			catch
			{}
		}

		protected void Session_End(Object sender, EventArgs e)
		{
			try
			{			
				string PPath=Server.MapPath("/ENet.Data.Attach/Excel/");//+"Export_"+Session.SessionID+"*.xls";
				string[] sFile=System.IO.Directory.GetFiles(PPath);

				for(int i=0;i<sFile.Length;i++)
				{
					string filePath=sFile[i];//Server.MapPath("/ENet.Data.Attach/Excel/")+"Export_"+Session.SessionID+".xls";				
					if(filePath.IndexOf(Session.SessionID)!=-1)
						if(System.IO.File.Exists(filePath))		
							System.IO.File.Delete(filePath);
				}
			}
			catch
			{}
			Application.Lock();
			Application["Online"] = (int)Application["Online"] - 1;
			Application.UnLock();

			Session.Clear();
			System.Web.Security.FormsAuthentication.SignOut();
		}

		protected void Application_End(Object sender, EventArgs e)
		{
			try
			{
				objOCSPSystemEnv.Finalize();
			}
			catch
			{			
				globalret = -1004;
			}
			try
			{
				Application.Lock();
				Application["Online"] = (int)Application["Online"] - 1;
				Application.UnLock();

				Session.Clear();
				System.Web.Security.FormsAuthentication.SignOut();
			}
			catch
			{}
		}
			
		#region Web Form Designer generated code
		/// <summary>
		/// Required method for Designer support - do not modify
		/// the contents of this method with the code editor.
		/// </summary>
		private void InitializeComponent()
		{    
			this.components = new System.ComponentModel.Container();
		}
		#endregion
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -