コード例 #1
0
ファイル: Remote.cs プロジェクト: xwyangjshb/qizmt
        public void LocalExec(string code, string[] usings, string methodname)
        {
            string suings = "";

            if (usings != null)
            {
                foreach (string nm in usings)
                {
                    suings = suings + "using " + nm + ";" + Environment.NewLine;
                }
            }
            RemoteExecFullSource(
                @"using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

using MySpace.DataMining.DistributedObjects;

" + suings + @"

namespace RemoteExec
{
    public class UserRExec : MySpace.DataMining.DistributedObjects.IRemote
    {
        public int GetOutputFileCount(int n, IList<long> appendsizes)
        {
            return 0;
        }

        public void OnRemote()
        {
            StaticGlobals.DSpace_SlaveIP = DSpace_SlaveIP;
            StaticGlobals.DSpace_SlaveHost = DSpace_SlaveHost;
            StaticGlobals.DSpace_BlocksTotalCount = DSpace_BlocksTotalCount;
            StaticGlobals.DSpace_BlockID = DSpace_BlockID;
            StaticGlobals.ExecutionContext = ExecutionContextType.LOCAL;     
            StaticGlobals.DSpace_Hosts = new string[]{" + ExpandListCode(StaticGlobals.DSpace_Hosts).Replace('`', '"') + @"};    
            StaticGlobals.DSpace_MaxDGlobals = " + StaticGlobals.DSpace_MaxDGlobals.ToString() + @";
            " + DGlobalsM.ToCode() + @"   
            " + methodname + @"();
        }

" + code + @"
    }
}", "UserRExec");

            GetDGlobals();
        }