当前位置: 首页 > news >正文

评价一个网站的好坏/十大计算机培训机构排名

评价一个网站的好坏,十大计算机培训机构排名,建设外围彩票网站,服务器ecs可以做网站吗转自:http://www.mysticboy.cn/article.asp?id100 常驻内存的程序是一些监控或者数据处理的项目中最常用的程序, 有的人做成控制台程序,长期开着, 可是这要登录进去,然后自动运行,必须保持用户在登录状态,…

转自:http://www.mysticboy.cn/article.asp?id=100

常驻内存的程序是一些监控或者数据处理的项目中最常用的程序, 有的人做成控制台程序,长期开着, 可是这要登录进去,然后自动运行,必须保持用户在登录状态,这样唯一的好处是能看到调试信息(console.writeline输出的东西),很多人都这么干, 我就碰到好几个大项目,比如某省的高速公路收费等。
服务的好处和不好处,一对比就出来了, 服务不用用户登录就能后台运行,但是看不到实时信息。 很不爽。 所以我在这里献丑,弄了一个二转子。呵呵。
这个程序即可以作为服务,也可以作为控制台, 你想调试的时候 加参数/debug 你想作为服务的时候  /install 然后后台运行。
如果你感兴趣, 请看下面代码。  因为代码比描述来的更直接。 哈哈
新建控制台项目  添加一个 叫MSG2DB的类文件, 粘贴如下内容。
using System;
using System.Collections.Generic;
using System.Text;
using System.ServiceProcess;
using System.Reflection;
namespace MSG2DBServer
{
    public class MSG2DB : ServiceBase
    {
        public MSG2DB()
        {
            this.ServiceName = MyServiceName;
        }
        public  static  string MyServiceName
        {
            get { return   Assembly.GetExecutingAssembly().GetName().Name; }
        }
        protected override void OnStart(string[] args)
        {
            // TODO: 在此处添加代码以启动服务。
              MSG2DBWorker.Do();
        }
        protected override void OnStop()
        {
            // TODO: 在此处添加代码以执行停止服务所需的关闭操作。
           MSG2DBWorker.PleaseStop=true ;
        }
    }
}
修改 Program.cs的代码为 如下代码
using System;
using System.Collections.Generic;
using System.Text;
using System.ServiceProcess;
using System.Reflection;
namespace MSG2DBServer
{
    class Program
    {
        static void Main(string[] args)
        {
            bool RunAsService = true  ;
            if (args.Length > 0)
            {
                System.Runtime.p
                RunAsService=false ;
                switch (args[0].ToLower())
                {
                    case  "/debug":
                        MSG2DBWorker.Do();
                        break;
                    case "/install":
                     Console.WriteLine("正在准备安装服务");
                     Console.WriteLine(CommandDo.Execute(string.Format(
                            "sc create {0}  binPath= \"{1}\"  start= auto",
                            MSG2DB.MyServiceName, Assembly.GetExecutingAssembly().Location
                            )));
                     Console.WriteLine(CommandDo.Execute(" sc start " + MSG2DB.MyServiceName));
                     Console.WriteLine("安装完成");
                        break;
                    case "/uninstall":
                        Console.WriteLine("正在卸载安装服务");
                        Console.WriteLine(CommandDo.Execute("sc stop " + MSG2DB.MyServiceName));
                        Console.WriteLine(CommandDo.Execute("sc delete " + MSG2DB.MyServiceName));
                        Console.WriteLine("卸载完成");
                        break;
                    case "/?":
                    case "/help":
                        Console.WriteLine("/install 安装此服务  /uninstall 卸载此服务  /? 或者 /help 显示当前信息 ");
                        break;
                    default:
                        Console.WriteLine(CommandDo.Execute("sc " + args[0] + " " + MSG2DB.MyServiceName));
                        break;
                }
              }
              if (RunAsService)
              {
                  ServiceBase[] ServicesToRun;
                  ServicesToRun = new ServiceBase[] { new MSG2DB() };
                  ServiceBase.Run(ServicesToRun);
              }
        }
    }
}
添加一个执行dos命令的文件,呵呵, 网上找的
using System;
using System.Text;
using System.Diagnostics;
namespace MSG2DBServer
{
/** <summary>
/// DOS命令输出类
/// </summary>
public class CommandDo
{
  /** <summary>
  /// 执行DOS命令,返回DOS命令的输出
  /// </summary>
  /// <param name="dosCommand">dos命令</param>
  /// <returns>返回输出,如果发生异常,返回空字符串</returns>
  public static string Execute(string dosCommand)
  {
   return Execute(dosCommand, 6 * 1000);
  }
  /** <summary>
  /// 执行DOS命令,返回DOS命令的输出
  /// </summary>
  /// <param name="dosCommand">dos命令</param>
  /// <param name="milliseconds">等待命令执行的时间(单位:毫秒),如果设定为0,则无限等待</param>
  /// <returns>返回输出,如果发生异常,返回空字符串</returns>
  public static string Execute(string dosCommand, int milliseconds)
  {
   string output = "";     //输出字符串
   if (dosCommand != null && dosCommand != "")
   {
    Process process = new Process();     //创建进程对象
    ProcessStartInfo startInfo = new ProcessStartInfo();
    startInfo.FileName = "cmd.exe";      //设定需要执行的命令
    startInfo.Arguments = "/C " + dosCommand;   //设定参数,其中的“/C”表示执行完命令后马上退出
    startInfo.UseShellExecute = false;     //不使用系统外壳程序启动
    startInfo.RedirectStandardInput = false  ;   //不重定向输入
    startInfo.RedirectStandardOutput = true;   //重定向输出
    startInfo.CreateNoWindow = true;     //不创建窗口
    process.StartInfo = startInfo;
    try
    {
     if (process.Start())       //开始进程
     {
      if (milliseconds == 0)
       process.WaitForExit();     //这里无限等待进程结束
      else
       process.WaitForExit(milliseconds);  //这里等待进程结束,等待时间为指定的毫秒
      output = process.StandardOutput.ReadToEnd();//读取进程的输出
     }
    }
    catch
    {
    }
    finally
    {
     if (process != null)
      process.Close();
    }
   }
   return output;
  }
}
}
添加 一个你的程序文件 , 这个文件里 我们将写入 我们要执行的代码。 比如循环啦。 等等哈吉玛塔的东西
using System;
using System.Collections.Generic;
using System.Text;
namespace MSG2DBServer
{
    public static class MSG2DBWorker
    {
       public static  void Do()
       {
           do
           {
               System.Threading.Thread.Sleep(100);
           } while (PleaseStop==false );
           Stoped = true;
       }
       private static bool _PleaseStop;
       /** <summary>
       /// 需要停止
       /// </summary>
       public static bool PleaseStop
    {
        get { return _PleaseStop;}
        set { _PleaseStop = value;}
    }
       private static bool _Stoped;
    /** <summary>
    /// 我停止了
    /// </summary>
       public static bool Stoped
    {
        get { return _Stoped; }
        set { _Stoped = value; }
    }
    }
}
http://files.cnblogs.com/MysticBoy/MSG2DBServer.rar

转载于:https://www.cnblogs.com/bennylam/archive/2009/10/27/1590385.html

http://www.lbrq.cn/news/1422847.html

相关文章:

  • 如何创建网站推广产品/引擎优化seo怎么做
  • 重庆做网站 帮助中心/廊坊网站排名优化公司哪家好
  • 株洲市住房和城乡建设局门户网站/深圳优化公司高粱seo较
  • 广州网站建设团队/服务营销论文
  • 哪几个网站适合自己做外贸/cba最新积分榜
  • 百度做的网站一般在什么后台/关键seo排名点击软件
  • 学网站开发如何挣钱/百度网站分析
  • 济南微信网站制作/温州企业网站排名优化
  • 浙江建设继续教育网站首页/广西疫情最新消息
  • 企业建立网站/百度搜索最多的关键词
  • 网站系统设计方案/免费域名注册永久
  • 大型门户网站设计解决方案/可以营销的十大产品
  • 做网站被用作非法用途/网上做广告怎么收费
  • swing做网站/5188关键词挖掘工具
  • 城乡建设局官方网站/网页设计与制作软件
  • 用axure做网站的规范/百度信息流账户搭建
  • 住房和建设厅网站/灰色词优化培训
  • html网站怎么做视频/优化营商环境发言材料
  • 3dweb做的网站/南宁seo做法哪家好
  • 建筑论坛网站/企业如何做网络推广
  • 网站开发流程指什么/搜狗推广登录平台
  • 南京做网站建设有哪些内容/月饼营销软文
  • 广告公司网站模板/软文范例100字
  • 扬州做网站公司/拼多多女装关键词排名
  • 怎样做网站管理与维护/如何查询关键词的搜索量
  • 吴桥钢结构网架公司/进行优化
  • 大连 做网站/g3云推广靠谱吗
  • 重庆网站建设子沃科技熊掌号/渠道营销推广方案
  • 2022年免费网站软件下载/注册域名费用一般多少钱
  • 什么网站做免单衣服/新浪微指数
  • Python语言一键整理xhs评论 基于github的开源项目 MediaCrawler
  • RocketMq面试集合
  • ESP32-S3_ES8311音频输出使用
  • MySQL查询性能慢时索引失效的排查与优化实践
  • DAY 46 通道注意力(SE注意力)
  • 【机器学习深度学习】生成式评测