C#发现之旅:C#开发Windows Service程序(下)
2009-04-06 08:24:16 来源:WEB开发网从这个代码可以看出软件使用的数据库是应用程序目录下的FileSystemWatcher.mdb数据库。为了提高效率,减少数据库的连接次数,服务在运行其间只连接一次数据库,使用完毕后不断开,只有退出软件时才断开数据库连接。
启动程序
在类型Program中定义了Main函数,该函数就是本软件的启动入口方法。其代码为
[System.STAThread()]
static void Main()
{
try
{
System.Uri uri = new Uri(typeof(string).Assembly.CodeBase);
string RuntimePath = System.IO.Path.GetDirectoryName( uri.LocalPath ) ;
string strInstallUtilPath = System.IO.Path.Combine(RuntimePath, "InstallUtil.exe");
foreach (string arg in System.Environment.GetCommandLineArgs())
{
Console.WriteLine(arg);
if (arg == "/install")
{
System.Diagnostics.Process.Start(strInstallUtilPath, """" + System.Windows.Forms.Application.ExecutablePath + """");
return;
}
else if (arg == "/uninstall")
{
System.Diagnostics.Process.Start(strInstallUtilPath, "/u """ + System.Windows.Forms.Application.ExecutablePath + """");
return;
}
else if (arg == "/client")
{
// 启动客户端
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
using (frmClient frm = new frmClient())
{
Application.Run(frm);
//frm.ShowDialog();
Util.CloseDBConnection();
}
return;
}
else if (arg == "/debug")
{
MyFileSystemWatcherService service = new MyFileSystemWatcherService();
service.StartFileSystemWatching();
System.Threading.Thread.Sleep(1000 * 600);
return;
}
}
}
catch (Exception ext)
{
Console.WriteLine(ext.ToString());
return;
}
// 运行服务对象
ServiceBase.Run( new MyFileSystemWatcherService());
}
- ››开发Android 日历教程
- ››开发学院总结 Win 8实用技巧大全
- ››开发学院原创教程:把win8的IE10放桌面上方法(非...
- ››开发者眼中的Windows Phone和Android
- ››开发学院教你用SQL 语句最快速清空MySQL 数据表的...
- ››发现数据库对象的依赖关系
- ››开发一个自己的HTML在线编辑器(一)
- ››开发一个自己的HTML在线编辑器(二)
- ››开发者在App Store上赚的钱比在Android Market上多...
- ››开发者应深入学习的10个Android开源应用项目
- ››开发移动 Web Ajax 应用
- ››开发者眼中的iPhone与Android
更多精彩
赞助商链接