/// <summary> /// 呼叫本地logic /// </summary> /// <param name="logic"></param> /// <param name="action"></param> /// <param name="p"></param> /// <returns></returns> public object CallLocalLogic(string logic, string action, FrameDLRObject p) { var copyp = (WebParameter)_logic.CallContext_Parameter.WebParam.Clone(); var copyd = (GoData)_logic.CallContext_DataCollection.WebData.Clone(); copyp.RequestResourceName = logic; copyp.Action = action; ResourceManage rema = new ResourceManage(); copyp.SetValue(ParameterKey.RESOURCE_MANAGER, rema); var defaulttoken = TransactionToken.NewToken(); copyp.TransTokenList.Add(defaulttoken); copyp.SetValue(ParameterKey.TOKEN, defaulttoken); copyp.SetValue("IsAjaxAsync", false); if (p != null) { foreach (var key in p.Keys) { copyp.SetValue(DomainKey.CUSTOMER_PARAMETER, key, p.GetValue(key)); } } return(CallLocalLogic(logic, action, copyp, copyd)); }
public TransactionToken BeginTrans(FrameIsolationLevel level) { TransactionToken newtoken = TransactionToken.NewToken(); newtoken.Begin(); _p.TransTokenList.Add(newtoken); return(newtoken); }
public override T Clone <T>() { var rtn = base.Clone <T>(); rtn.SetValue(ParameterKey.TOKEN, TransactionToken.NewToken()); rtn.SetValue(ParameterKey.RESOURCE_MANAGER, new ResourceManage()); return(rtn); }
/// <summary> /// 复制对象 /// </summary> /// <returns></returns> public override object Clone() { var t = this.GetType(); var rtn = (ParameterStd)Activator.CreateInstance(t); rtn.SetValue(ParameterKey.TOKEN, TransactionToken.NewToken()); rtn.SetValue(ParameterKey.RESOURCE_MANAGER, new ResourceManage()); return(rtn); }
protected virtual void BeforeProcess(TParameter p, TData d) { //获取请求的资源和参数 ResourceManage rema = new ResourceManage(); p.SetValue(ParameterKey.RESOURCE_MANAGER, rema); var defaulttoken = TransactionToken.NewToken(); p.TransTokenList.Add(defaulttoken); p.SetValue(ParameterKey.TOKEN, defaulttoken); p.SetValue("IsAjaxAsync", false); ProcessRequestInfo(p, d); ProcessRequestSession(p, d); ProcessResponseCookie(p, d); }
protected virtual void BeforeProcess(TParameter p, TData d) { //获取请求的资源和参数 ResourceManage rema = new ResourceManage(); p.SetValue(ParameterKey.RESOURCE_MANAGER, rema); var defaulttoken = TransactionToken.NewToken(); p.TransTokenList.Add(defaulttoken); p.SetValue(ParameterKey.TOKEN, defaulttoken); p.RequestUri = new Uri($"{p.CurrentHttpContext.Request.Scheme}://{p.CurrentHttpContext.Request.Host}{p.CurrentHttpContext.Request.Path}{p.CurrentHttpContext.Request.QueryString}"); p.RequestRoute = p.CurrentHttpContext.Request.Path.Value; p.RestResourcesArray = p.CurrentHttpContext.Request.Path.Value.Split('/'); ProcessRequestInfo(p, d); ProcessRequestHeader(p, d); }
protected virtual void Init(WP p, WD d) { //获取请求的资源和参数 ResourceManage rema = new ResourceManage(); p.SetValue <ResourceManage>(ParameterKey.RESOURCE_MANAGER, rema); p.SetValue <TransactionToken>(ParameterKey.TOKEN, TransactionToken.NewToken()); if (p.ExtentionObj.args != null) { if (p.ExtentionObj.args.Length > 0) { string reqstr = ComFunc.nvl(p.ExtentionObj.args[0]); string[] arr = reqstr.Split('.'); p[ParameterKey.LOGIC] = arr[0]; p[ParameterKey.ACTION] = arr.Length > 1 ? arr[1] : ""; } } }
protected virtual void BeforeProcess(TParameter p, TData d) { //获取请求的资源和参数 ResourceManage rema = new ResourceManage(); p.SetValue(ParameterKey.RESOURCE_MANAGER, rema); var defaulttoken = TransactionToken.NewToken(); p.TransTokenList.Add(defaulttoken); p.SetValue(ParameterKey.TOKEN, defaulttoken); p.SetValue("IsAjaxAsync", IsAjaxAsync); p.RequestUri = new Uri($"{p.CurrentHttpContext.Request.Scheme}://{p.CurrentHttpContext.Request.Host}{p.CurrentHttpContext.Request.Path}{(p.CurrentHttpContext.Request.QueryString.Value)}"); GlobalCommon.Logger.WriteLog(LoggerLevel.DEBUG, $"excute request URI:{CurrentContext.Request.Method} \"{p.RequestUri}\""); ProcessRequestPath(p, d); ProcessRequestHeader(p, d); ProcessRequestInfo(p, d); ProcessRequestSession(p, d); ProcessRequestCookie(p, d); ////hostview的引擎 //p.ExtentionObj.hostviewengine = new HostJsView(); }
protected virtual void Init(HttpContext context, WP p, WD d) { //获取请求的资源和参数 ResourceManage rema = new ResourceManage(); p.SetValue <ResourceManage>(ParameterKey.RESOURCE_MANAGER, rema); var defaulttoken = TransactionToken.NewToken(); p.TransTokenList.Add(defaulttoken); p.SetValue <TransactionToken>(ParameterKey.TOKEN, defaulttoken); p.SetValue("IsAjaxAsync", IsAjaxAsync); //设置serverinfo p[DomainKey.APPLICATION_ENVIRONMENT, "server_servername"] = context.Server.MachineName; p[DomainKey.APPLICATION_ENVIRONMENT, "serverinfo_ip"] = context.Request.ServerVariables["LOCAl_ADDR"]; //设置clientinfo var ip = ""; if (context.Request.ServerVariables["HTTP_VIA"] != null) // using proxy { ip = context.Request.ServerVariables["HTTP_X_FORWARDED_FOR"]; // Return real client IP. } else// not using proxy or can't get the Client IP { ip = context.Request.ServerVariables["REMOTE_ADDR"]; //While it can't get the Client IP, it will return proxy IP. } p[DomainKey.APPLICATION_ENVIRONMENT, "clientinfo_ip"] = ip; p[DomainKey.APPLICATION_ENVIRONMENT, "clientinfo_browserversion"] = context.Request.Browser.Version; p[DomainKey.APPLICATION_ENVIRONMENT, "clientinfo_platform"] = context.Request.Browser.Platform; p[DomainKey.APPLICATION_ENVIRONMENT, "clientinfo_userhostname"] = context.Request.UserHostName; p.IsNeedSessionAbandon = false; p.IsWebSocket = context.IsWebSocketRequest; //hostview的引擎 p.ExtentionObj.hostviewengine = new HostJsView(); lock (lockobj) { Prepare(context, ref p, ref d); } }
public ParameterStd() { SetValue(ParameterKey.TOKEN, TransactionToken.NewToken()); SetValue(ParameterKey.RESOURCE_MANAGER, new ResourceManage()); }