Exemple #1
0
    private void initData()
    {
        xmlDoc = new XmlDocument();
        xmlDoc.Load(_serverPath + "/as2aspx.xml");

        XmlNode rootNode = xmlDoc.SelectSingleNode("config");

        string modelUrl   = rootNode.SelectSingleNode("model").InnerText;
        string serviceUrl = rootNode.SelectSingleNode("service").InnerText;

        serviceNameSpace = rootNode.SelectSingleNode("service").Attributes.GetNamedItem("nameSpace").Value;
        modelDLL         = Assembly.LoadFrom(_serverPath + modelUrl);
        serviceDLL       = Assembly.LoadFrom(_serverPath + serviceUrl);

        XmlAttributeCollection outerResolveXAC = rootNode.SelectSingleNode("outerResolve").Attributes;
        string outerResolveDLL   = outerResolveXAC.GetNamedItem("dll").Value;
        string outerResolveClass = outerResolveXAC.GetNamedItem("class").Value;

        XmlAttributeCollection outerEncryptXAC = rootNode.SelectSingleNode("outerEncrypt").Attributes;
        string outerEncryptDLL   = outerResolveXAC.GetNamedItem("dll").Value;
        string outerEncryptClass = outerResolveXAC.GetNamedItem("class").Value;

        if (outerResolveDLL != "" && outerResolveClass != "")
        {
            Type outerResolveType = Assembly.LoadFrom(_serverPath + outerResolveDLL).GetType(outerResolveClass);
            outerResolve = (IParamResolve)System.Activator.CreateInstance(outerResolveType);
        }
        if (outerEncryptDLL != "" && outerEncryptClass != "")
        {
            Type outerEncryptType = Assembly.LoadFrom(_serverPath + outerEncryptDLL).GetType(outerEncryptClass);
            outerEncrypt = (IParamEncrypt)System.Activator.CreateInstance(outerEncryptType);
        }
    }
Exemple #2
0
    protected void Page_Load(object sender, EventArgs e)
    {
        byte[] byteData = null;
        try
        {
            if (context == null)
            {
                context = ContextUtil.getInstance(Server.MapPath("."));
                encrypt = context.getOuterEncrypt();
            }

            if (encoder == null)
                encoder = ParamEncoder.getInstance();
            if (decoder == null)
                decoder = ParamDecoder.getInstance();

            encoder.outEncoder = context.getOuterResolve();
            decoder.outDecoder = context.getOuterResolve();

            Stream input = Request.InputStream;

            if (input.CanRead)
            {
                byteData = new byte[input.Length];
                input.Read(byteData, 0, (int)input.Length);
                input.Close();
                input.Dispose();

                // 解密
                if (encrypt != null)
                    byteData = encrypt.decrypt(byteData);

                dataVo = decoder.decoder(byteData);
                Type serviceCls = context.getService(context.getServiceNameSpace() + "." + dataVo.ServiceName);

                MethodInfo method = serviceCls.GetMethod(dataVo.MethodName);

                object result = method.Invoke(System.Activator.CreateInstance(serviceCls), dataVo.Param);

                dataVo.Result = result;
                dataVo.ResultStatus = "success";
                byte[] resultData = encoder.encode(dataVo);

                if (encrypt != null)
                    resultData = encrypt.encrypt(resultData);

                output = Response.OutputStream;
                output.Write(resultData, 0, resultData.Length);
                output.Flush();
                output.Close();
                output.Dispose();
            }
            else
            {

            }
        }
        catch(Exception exc)
        {
            if (dataVo == null && byteData != null)
               dataVo = decoder.decoder(byteData);
            if (dataVo == null)
               dataVo = new DataVO();
            dataVo.ResultStatus = "error";
            dataVo.ErrorMessage = exc.ToString();
            byte[] resultData = encoder.encode(dataVo);

            if (encrypt != null)
                resultData = encrypt.encrypt(resultData);
            output = Response.OutputStream;
            output.Write(resultData, 0, resultData.Length);
            output.Flush();
            output.Close();
            output.Dispose();
        }
    }
Exemple #3
0
    protected void Page_Load(object sender, EventArgs e)
    {
        byte[] byteData = null;
        try
        {
            if (context == null)
            {
                context = ContextUtil.getInstance(Server.MapPath("."));
                encrypt = context.getOuterEncrypt();
            }

            if (encoder == null)
            {
                encoder = ParamEncoder.getInstance();
            }
            if (decoder == null)
            {
                decoder = ParamDecoder.getInstance();
            }

            encoder.outEncoder = context.getOuterResolve();
            decoder.outDecoder = context.getOuterResolve();

            Stream input = Request.InputStream;

            if (input.CanRead)
            {
                byteData = new byte[input.Length];
                input.Read(byteData, 0, (int)input.Length);
                input.Close();
                input.Dispose();

                // 解密
                if (encrypt != null)
                {
                    byteData = encrypt.decrypt(byteData);
                }

                dataVo = decoder.decoder(byteData);
                Type serviceCls = context.getService(context.getServiceNameSpace() + "." + dataVo.ServiceName);

                MethodInfo method = serviceCls.GetMethod(dataVo.MethodName);

                object result = method.Invoke(System.Activator.CreateInstance(serviceCls), dataVo.Param);

                dataVo.Result       = result;
                dataVo.ResultStatus = "success";
                byte[] resultData = encoder.encode(dataVo);

                if (encrypt != null)
                {
                    resultData = encrypt.encrypt(resultData);
                }

                output = Response.OutputStream;
                output.Write(resultData, 0, resultData.Length);
                output.Flush();
                output.Close();
                output.Dispose();
            }
            else
            {
            }
        }
        catch (Exception exc)
        {
            if (dataVo == null && byteData != null)
            {
                dataVo = decoder.decoder(byteData);
            }
            if (dataVo == null)
            {
                dataVo = new DataVO();
            }
            dataVo.ResultStatus = "error";
            dataVo.ErrorMessage = exc.ToString();
            byte[] resultData = encoder.encode(dataVo);

            if (encrypt != null)
            {
                resultData = encrypt.encrypt(resultData);
            }
            output = Response.OutputStream;
            output.Write(resultData, 0, resultData.Length);
            output.Flush();
            output.Close();
            output.Dispose();
        }
    }
Exemple #4
0
    private void initData()
    {
        xmlDoc = new XmlDocument();
        xmlDoc.Load(_serverPath + "/as2aspx.xml");

        XmlNode rootNode = xmlDoc.SelectSingleNode("config");

        string modelUrl = rootNode.SelectSingleNode("model").InnerText;
        string serviceUrl = rootNode.SelectSingleNode("service").InnerText;
        serviceNameSpace = rootNode.SelectSingleNode("service").Attributes.GetNamedItem("nameSpace").Value;
        modelDLL = Assembly.LoadFrom(_serverPath + modelUrl);
        serviceDLL = Assembly.LoadFrom(_serverPath + serviceUrl);

        XmlAttributeCollection outerResolveXAC = rootNode.SelectSingleNode("outerResolve").Attributes;
        string outerResolveDLL = outerResolveXAC.GetNamedItem("dll").Value;
        string outerResolveClass = outerResolveXAC.GetNamedItem("class").Value;

        XmlAttributeCollection outerEncryptXAC = rootNode.SelectSingleNode("outerEncrypt").Attributes;
        string outerEncryptDLL = outerResolveXAC.GetNamedItem("dll").Value;
        string outerEncryptClass = outerResolveXAC.GetNamedItem("class").Value;

        if (outerResolveDLL != "" && outerResolveClass != "")
        {
            Type outerResolveType = Assembly.LoadFrom(_serverPath + outerResolveDLL).GetType(outerResolveClass);
            outerResolve = (IParamResolve)System.Activator.CreateInstance(outerResolveType);
        }
        if (outerEncryptDLL != "" && outerEncryptClass != "")
        {
            Type outerEncryptType = Assembly.LoadFrom(_serverPath + outerEncryptDLL).GetType(outerEncryptClass);
            outerEncrypt = (IParamEncrypt)System.Activator.CreateInstance(outerEncryptType);
        }
    }