📄 global.asax.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 + -