当前位置:  开发笔记 > 开发工具 > 正文

控制台应用程序优于Windows服务的好处

如何解决《控制台应用程序优于Windows服务的好处》经验,为你挑选了2个好方法。

我有一个使用预定事件的.Net控制台应用程序将启动,调用mweb服务方法并关闭.每小时/每天运行一次.虽然实现没有"错误",但我想知道将此实现作为Windows服务是否有任何好处.

有没有人对这种情况下的最佳做法有什么看法?



1> cgreeno..:

我觉得很难调试Windows服务所以我倾向于只在以下情况下使用它们:

(A)我正在做的事情非常复杂或

(B)需要一直运行(例如:监视更改的内容)

我发现大多数事情通常可以通过Console App一些命令行args和Windows Scheduler完成.


您可以使用VS.NET中的Attach To Process选项相当容易地调试Windows服务.安装服务时创建调试版本.然后在它运行时附加到它并设置断点.像黄油一样对我有用.

2> Treb..:

服务与应用程序有三种不同:

    它在没有用户登录系统的情况下运行

    它不能有任何用户界面(控制台也是一个用户界面)

    它可以在提升的权限(SYSTEM帐户)下运行,从而执行用户不允许的操作.

这里要问的问题是:您是否需要服务可以提供的不同选项?如果答案为否,则不要使用服务.

我从你的问题推断你需要一个没有任何用户界面的后台应用程序(上面的第2项).您似乎不需要项目1或3.您可以通过不创建一个没有任何窗口(控制台或其他)的纯后台应用程序.只需创建一个简单的Windows应用程序并进

static class Program
{       
    [STAThread]
    static void Main()
    {
        Application.EnableVisualStyles();
        Application.SetCompatibleTextRenderingDefault(false);
        Application.Run(new Form1());
    }
}

static class Program
{       
    [STAThread]
    static void Main()
    {
        // Application.EnableVisualStyles();
        // Application.SetCompatibleTextRenderingDefault(false);
        // Application.Run(new Form1());

        DoWhateverYouWant();
    }
}

哦,是的,克里斯完全正确的调试服务是一个真正的痛苦!

推荐阅读
郑小蒜9299_941611_G
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有