Example #1
0
 void context_BeginRequest(object sender, EventArgs e)
 {
     AppGlobal.AppRootPath = _context.Server.MapPath("~/");
     AppGlobal.appType = AppType.Web;
     AppGlobal.IsSaas = System.Configuration.ConfigurationManager.AppSettings["IsSaas"] == "true" ? true : false;
     AppGlobal.AppStart();
 }
        public static int OverTime                = 1;                        //超时记录日志

        /// <summary>
        /// 开始服务主机
        /// </summary>
        public static void StartWCFHost()
        {
            hostwcfMsg(Color.Blue, DateTime.Now, "WCFHandlerService服务正在初始化...");

            AppGlobal.AppStart();

            //初始化插件
            localPlugin     = new LocalPlgin();
            RemotePluginDic = new List <RemotePlugin>();

            localPlugin.ServerIdentify = WcfServerManage.Identify;
            localPlugin.PluginDic      = AppPluginManage.PluginDic;

            hostwcfMsg(Color.Blue, DateTime.Now, "WCFHandlerService服务初始化完成");

            if (IsHeartbeat == true)
            {
                if (timer == null)
                {
                    StartListenClients();
                }
                else
                {
                    timer.Start();
                }
            }
            else
            {
                if (timer != null)
                {
                    timer.Stop();
                }
            }
        }
        public static int OverTime          = 1;     //超时记录日志

        /// <summary>
        /// 开始服务主机
        /// </summary>
        public static void StartWCFHost()
        {
            hostwcfMsg(Color.Blue, DateTime.Now, "WCFHandlerService服务正在初始化...");
            AppGlobal.AppStart();
            hostwcfMsg(Color.Blue, DateTime.Now, "WCFHandlerService服务初始化完成");

            if (IsHeartbeat == true)
            {
                if (timer == null)
                {
                    StartListenClients();
                }
                else
                {
                    timer.Start();
                }
            }
            else
            {
                if (timer != null)
                {
                    timer.Stop();
                }
            }
        }
Example #4
0
        //efwplusApi/demo/1
        protected void Application_Start(object sender, EventArgs e)
        {
            //Web系统启动初始化
            AppGlobal.AppRootPath = Context.Server.MapPath("~/");
            AppGlobal.AppStart();

            WebApiConfig.Register(GlobalConfiguration.Configuration);
        }
Example #5
0
 private void FrmTest_Load(object sender, EventArgs e)
 {
     //1.初始化
     AppGlobal.AppStart();
     //2.创建连接
     //clientClink = new ClientLink("TestWcfService", "Test");
     //clientClink.CreateConnection();
     InitTreePlugin();
 }
Example #6
0
        private void FrmTest_Load(object sender, EventArgs e)
        {
            //1.初始化
            AppGlobal.AppStart();
            //2.创建连接
            ReplyClientCallBack callback = new ReplyClientCallBack();

            WcfClientManage.CreateConnection(callback);

            InitTreePlugin();
        }
Example #7
0
        /// <summary>
        /// 开始服务主机
        /// </summary>
        public static void StartWCFHost()
        {
            ShowHostMsg(DateTime.Now, "WCFHandlerService服务正在初始化...");
            AppGlobal.AppStart();
            ShowHostMsg(DateTime.Now, "WCFHandlerService服务初始化完成");

            if (IsHeartbeat == true)
            {
                StartListenClients();
            }
        }
Example #8
0
        private static bool Init()
        {
            try
            {
                AppGlobal.AppStart();

                if (AppGlobal.missingDll.Count > 0)
                {
                    string msg = "缺失的程序集:\r";
                    for (int i = 0; i < AppGlobal.missingDll.Count; i++)
                    {
                        msg += AppGlobal.missingDll[i] + "\r";
                    }
                    MessageBox.Show(msg, "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                }

                string entryplugin;
                string entrycontroller;

                PluginSysManage.GetWinformEntry(out entryplugin, out entrycontroller);
                EFWCoreLib.WinformFrame.Controller.WinformController controller = EFWCoreLib.WinformFrame.Controller.ControllerHelper.CreateController(entryplugin + "@" + entrycontroller);
                //controller.Init();
                if (controller == null)
                {
                    throw new Exception("插件配置的启动项(插件名或控制器名称)不正确!");
                }
                ((System.Windows.Forms.Form)controller.DefaultView).Show();
                winfromMain.MainForm = ((System.Windows.Forms.Form)controller.DefaultView);


                return(true);
            }
            catch (Exception err)
            {
                //记录错误日志
                ZhyContainer.CreateException().HandleException(err, "HISPolicy");
                //Application.Exit();
                //throw new Exception(err.Message + "\n\n请联系管理员!");
                MessageBox.Show(err.Message, "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning, MessageBoxDefaultButton.Button1, MessageBoxOptions.DefaultDesktopOnly);
                //AppExit();
                return(false);
            }
        }
Example #9
0
        public static void Run(StartType type)
        {
            switch (type)
            {
            case StartType.BaseService:
                mAppHost = new ServiceHost(typeof(BaseService));
                //初始化连接池,默认10分钟清理连接
                ClientLinkPoolCache.Init(true, 200, 30, 600, "wcfserver", 30);

                AppGlobal.AppRootPath = System.Windows.Forms.Application.StartupPath + "\\";
                AppGlobal.appType     = AppType.WCF;
                AppGlobal.IsSaas      = System.Configuration.ConfigurationManager.AppSettings["IsSaas"] == "true" ? true : false;
                AppGlobal.AppStart();


                ClientManage.IsHeartbeat      = HostSettingConfig.GetValue("heartbeat") == "1" ? true : false;
                ClientManage.HeartbeatTime    = Convert.ToInt32(HostSettingConfig.GetValue("heartbeattime"));
                ClientManage.IsMessage        = HostSettingConfig.GetValue("message") == "1" ? true : false;
                ClientManage.MessageTime      = Convert.ToInt32(HostSettingConfig.GetValue("messagetime"));
                ClientManage.IsCompressJson   = HostSettingConfig.GetValue("compress") == "1" ? true : false;
                ClientManage.IsEncryptionJson = HostSettingConfig.GetValue("encryption") == "1" ? true : false;
                ClientManage.IsToken          = HostSettingConfig.GetValue("token") == "1" ? true : false;
                ClientManage.serializeType    = (SerializeType)Convert.ToInt32(HostSettingConfig.GetValue("serializetype"));
                ClientManage.IsOverTime       = HostSettingConfig.GetValue("overtime") == "1" ? true : false;
                ClientManage.OverTime         = Convert.ToInt32(HostSettingConfig.GetValue("overtimetime"));

                ClientManage.StartHost();
                mAppHost.Open();

                MiddlewareLogHelper.WriterLog(LogType.MidLog, true, Color.Blue, "数据服务启动完成");
                break;

            case StartType.FileService:
                AppGlobal.AppRootPath = System.Windows.Forms.Application.StartupPath + "\\";

                mFileHost = new ServiceHost(typeof(FileService));
                mFileHost.Open();

                MiddlewareLogHelper.WriterLog(LogType.MidLog, true, Color.Blue, "文件服务启动完成");
                break;

            case StartType.RouterBaseService:
                mRouterHost = new ServiceHost(typeof(RouterBaseService));
                RouterManage.Start();
                mRouterHost.Open();

                MiddlewareLogHelper.WriterLog(LogType.MidLog, true, Color.Blue, "数据路由服务启动完成");
                break;

            case StartType.RouterFileService:
                mFileRouterHost = new ServiceHost(typeof(RouterFileService));
                mFileRouterHost.Open();

                MiddlewareLogHelper.WriterLog(LogType.MidLog, true, Color.Blue, "文件路由服务启动完成");
                break;

            case StartType.SuperClient:
                SuperClient.CreateSuperClient();
                MiddlewareLogHelper.WriterLog(LogType.MidLog, true, Color.Blue, "超级客户端启动完成");
                break;

            case StartType.MiddlewareTask:
                MiddlewareTask.StartTask();    //开启定时任务
                MiddlewareLogHelper.WriterLog(LogType.MidLog, true, Color.Blue, "定时任务启动完成");
                break;

            case StartType.PublishService:    //订阅
                PublishServiceManage.InitPublishService();
                PublishSubManager.StartPublish();
                MiddlewareLogHelper.WriterLog(LogType.MidLog, true, Color.Blue, "发布订阅服务完成");
                break;

            case StartType.MongoDB:
                MongodbManager.StartDB();    //开启MongoDB
                MiddlewareLogHelper.WriterLog(LogType.MidLog, true, Color.Blue, "MongoDB启动完成");
                break;

            case StartType.Nginx:
                NginxManager.StartWeb();    //开启Nginx
                MiddlewareLogHelper.WriterLog(LogType.MidLog, true, Color.Blue, "Nginx启动完成");
                break;

            case StartType.KillAllProcess:
                MongodbManager.StopDB();    //停止MongoDB  清理掉所有子进程,因为主进程关闭子进程不关闭的话,占用的端口号一样不会释放
                NginxManager.StopWeb();
                break;
            }
        }
Example #10
0
        public static void Run(StartType type)
        {
            switch (type)
            {
            case StartType.BaseService:
                mAppHost = new ServiceHost(typeof(BaseService));
                //初始化连接池,默认10分钟清理连接
                ClientLinkPoolCache.Init(true, 200, 30, 600, "wcfserver", 30);

                AppGlobal.AppRootPath = System.Windows.Forms.Application.StartupPath + "\\";
                AppGlobal.appType     = AppType.WCF;
                AppGlobal.IsSaas      = HostSettingConfig.GetValue("issaas") == "1" ? true : false;
                AppGlobal.AppStart();


                ClientManage.IsHeartbeat   = HostSettingConfig.GetValue("heartbeat") == "1" ? true : false;
                ClientManage.HeartbeatTime = Convert.ToInt32(HostSettingConfig.GetValue("heartbeattime"));

                ClientManage.StartHost();
                mAppHost.Open();

                MiddlewareLogHelper.WriterLog(LogType.MidLog, true, Color.Blue, "数据服务启动完成");
                break;

            case StartType.FileService:
                AppGlobal.AppRootPath = System.Windows.Forms.Application.StartupPath + "\\";

                mFileHost = new ServiceHost(typeof(FileService));
                mFileHost.Open();

                MiddlewareLogHelper.WriterLog(LogType.MidLog, true, Color.Blue, "文件服务启动完成");
                break;

            case StartType.HttpService:
                //初始化连接池,默认10分钟清理连接
                ClientLinkPoolCache.Init(true, 200, 30, 600, "httpserver", 30);
                AppGlobal.AppRootPath = System.Windows.Forms.Application.StartupPath + "\\";

                mHttpHost = new WebServiceHost(typeof(HttpService));
                mHttpHost.Open();

                MiddlewareLogHelper.WriterLog(LogType.MidLog, true, Color.Blue, "Http服务启动完成");
                break;

            case StartType.RouterBaseService:
                mRouterHost = new ServiceHost(typeof(RouterBaseService));
                RouterManage.Start();
                mRouterHost.Open();

                MiddlewareLogHelper.WriterLog(LogType.MidLog, true, Color.Blue, "路由数据服务启动完成");
                break;

            case StartType.RouterFileService:
                mFileRouterHost = new ServiceHost(typeof(RouterFileService));
                mFileRouterHost.Open();

                MiddlewareLogHelper.WriterLog(LogType.MidLog, true, Color.Blue, "路由文件服务启动完成");
                break;

            case StartType.SuperClient:
                SuperClient.Start();
                MiddlewareLogHelper.WriterLog(LogType.MidLog, true, Color.Blue, "超级客户端启动完成");

                PublisherManage.Start();
                SubscriberManager.Start();
                MiddlewareLogHelper.WriterLog(LogType.MidLog, true, Color.Blue, "发布订阅启动完成");

                DistributedCacheManage.Start();
                DistributedCacheClient.Start();
                MiddlewareLogHelper.WriterLog(LogType.MidLog, true, Color.Blue, "分布式缓存启动完成");

                UpgradeManage.Start();
                UpgradeClient.Start();
                MiddlewareLogHelper.WriterLog(LogType.MidLog, true, Color.Blue, "升级包管理启动完成");

                MonitorTirggerManage.Start();
                MiddlewareLogHelper.WriterLog(LogType.MidLog, true, Color.Blue, "监视触发器启动完成");
                break;

            case StartType.MiddlewareTask:
                MiddlewareTask.StartTask();    //开启定时任务
                MiddlewareLogHelper.WriterLog(LogType.MidLog, true, Color.Blue, "定时任务启动完成");
                break;
            }
        }
Example #11
0
        static void Main(string[] args)
        {
            begintime();
            //1.初始化
            AppGlobal.AppStart();
            Console.WriteLine("1.初始化程序时间(毫秒):" + endtime());

            begintime();
            //2.创建连接
            ReplyClientCallBack callback = new ReplyClientCallBack();

            WcfClientManage.CreateConnection(callback);
            Console.WriteLine("2.创建连接时间(毫秒):" + endtime());

            Console.WriteLine("输入请求数据条数:");
            //string num = Console.ReadLine();
            string num = "100";

            begintime();
            //3.同步请求数据
            string retjson = WcfClientManage.Request("Books_Wcf@bookWcfController", "Test191", "[" + num + "]");

            Console.WriteLine("3.请求数据时间(毫秒):" + endtime());

            begintime();
            //3.同步请求数据
            retjson = WcfClientManage.Request("Books_Wcf@bookWcfController", "Test191", "[" + num + "]");
            Console.WriteLine("3.请求数据时间(毫秒):" + endtime());

            //for (int i = 0; i < 10; i++)
            //{
            //    begintime();
            //    retjson = WcfClientManage.Request("Books_Wcf@bookWcfController", "Test191", "[" + num + "]");
            //    object Result = JsonConvert.DeserializeObject(retjson);//测试反序列化
            //    System.Data.DataTable dt = JsonConvert.DeserializeObject<DataTable>(((Newtonsoft.Json.Linq.JObject)(Result))["data"].ToString());
            //    Console.WriteLine("3.请求数据时间(毫秒):" + endtime());
            //    System.Threading.Thread.Sleep(1000);
            //}
            //3.异步请求数据
            //WcfClientManage.RequestAsync("Books_Wcf@bookWcfController", "GetBooks", "[" + num + "]", new Action<string>(
            //    (json) =>
            //    {
            //        Console.WriteLine("3.请求数据时间(毫秒):" + endtime());
            //    }
            //    ));

            begintime();
            string s = WcfClientManage.UpLoadFile(@"D:\工具\PowerDesigner15_Evaluation.exe", (delegate(int _num)
            {
                Console.WriteLine("4.文件上传进度:%" + _num);
            }));

            Console.WriteLine("4.文件上传时间(毫秒):" + endtime() + "|" + s);

            begintime();
            s = WcfClientManage.DownLoadFile("b83ec24f-3750-420e-9200-f411578a8fe7.exe", (delegate(int _num)
            {
                Console.WriteLine("4.文件下载进度:%" + _num);
            }));
            Console.WriteLine("4.文件下载时间(毫秒):" + endtime() + "|" + s);
            System.Threading.Thread.Sleep(5000);

            Console.Read();

            begintime();
            s = WcfClientManage.UpLoadFile(@"c:\ora.sql");
            Console.WriteLine("4.文件上传时间(毫秒):" + endtime() + "|" + s);

            Console.Read();
            Console.Read();

            begintime();
            s = WcfClientManage.DownLoadFile("ora.sql");
            Console.WriteLine("4.文件下载时间(毫秒):" + endtime() + "|" + s);

            Console.Read();
            Console.Read();

            begintime();
            //4.回调消息
            callback.ReplyClientAction = new Action <string>((json) =>
            {
            });
            Console.WriteLine("5.回调消息时间(毫秒):" + endtime());

            //begintime();
            ////5.关闭连接
            //WcfClientManage.UnConnection();
            //Console.WriteLine("6.关闭连接时间(毫秒):" + endtime());

            Console.Read();
        }
 void context_BeginRequest(object sender, EventArgs e)
 {
     AppGlobal.AppRootPath = _context.Server.MapPath("~/");
     AppGlobal.AppStart();
 }