Example #1
0
        public object Clone()
        {
            ScriptProperty scriptProperty = new ScriptProperty();

            scriptProperty.FilePath   = this.m_szFilePath;
            scriptProperty.ScriptLang = this.m_scriptLang;
            scriptProperty.ScriptName = this.m_szScriptName;
            scriptProperty.ScriptText = this.m_szScriptText;
            scriptProperty.ScriptData = this.m_byteScriptData;
            return(scriptProperty);
        }
Example #2
0
        /// <summary>
        /// 编译指定脚本源码,返回编译结果
        /// </summary>
        /// <param name="scriptProperty">脚本配置信息</param>
        /// <returns>ScriptAgent的编译结果对象(永不为null)</returns>
        public CompileResults CompileScript(ScriptProperty scriptProperty)
        {
            if (scriptProperty == null)
            {
                return(new CompileResults());
            }

            GlobalMethods.IO.CreateDirectory(this.CachePath);
            string szOutputFile = string.Format("{0}\\Calc.{1}.dll"
                                                , this.CachePath, Math.Abs(scriptProperty.ScriptText.GetHashCode()).ToString());

            CompileResults results = this.CompileScript(scriptProperty.ScriptText, scriptProperty.ScriptLang, szOutputFile);

            scriptProperty.ScriptData = AssemblyHelper.Instance.GetAssemblyData(szOutputFile);
            GlobalMethods.IO.DeleteFile(szOutputFile);
            return(results);
        }