我创建了一个C#.Net Windows服务。此服务正在使用一些配置文件。现在我们有另一个dll组件,由应用程序加载,然后我们创建配置文件。我想从我的直接服务中打开这个dll组件。遵循我想在最终服务exe中提供的选项,它将作为服务以及配置器。
让我们说exe名称是SampleServ.exe,那么选项应该是:
我正在尝试这样
public static void Main(string[] args)
{
if (args.Length == 0)
{
ServiceBase[] ServicesToRun;
ServicesToRun = new ServiceBase[]
{
new Service1()
};
ServiceBase.Run(ServicesToRun);
}
else
{
MainPage wnd = new MainPage();
wnd.ShowDialog();
}
}
这里的MainPage是派生窗口,由于服务限制,我无法添加命名空间system.window。
如果可能的话,请告诉我。
在项目参考中添加更多组件后,我能够做到这一点。我添加了像“PresentationCore”,“PresentatinoFramework”,“System.Xaml”这样的引用。我只想知道添加此类组件是否有任何影响。有什么想法吗?
否则现在我的代码正在运行......
答案 0 :(得分:1)
您好这里是您需要的完整示例,它还包括安装/卸载功能
http://blogs.microsoft.co.il/blogs/kim/archive/2009/01/04/self-installing-windows-service.aspx
答案 1 :(得分:0)
使用Environment.GetCommandLineArgs
获取参数(索引0是程序的名称,但要小心)。如果参数1不是“-config”,则作为服务启动,否则显示您的配置表单。