问题列表 - 第1697页

我是作为一种服务运行的

我目前正在为可以在控制台中运行的服务编写一些引导代码.它本质上归结为调用OnStart()方法而不是使用ServiceBase来启动和停止服务(因为如果它没有作为服务安装并且使调试成为一场噩梦,它就不会运行应用程序).

现在我使用Debugger.IsAttached来确定我是否应该使用ServiceBase.Run或[service] .OnStart,但我知道这不是最好的主意,因为有些时候最终用户想要在控制台中运行服务(看看输出等实时).

关于如何确定Windows服务控制器是否启动"我",或者用户是否在控制台中启动"我"的任何想法?Apparantly Environment.IsUserInteractive不是答案.我想过使用命令行args,但这看起来很"脏".

我总是可以看到围绕ServiceBase.Run的try-catch语句,但这看起来很脏.编辑:尝试捕获不起作用.

我有一个解决方案:把它放在这里给所有其他感兴趣的堆叠器:

    public void Run()
    {
        if (Debugger.IsAttached || Environment.GetCommandLineArgs().Contains<string>("-console"))
        {
            RunAllServices();
        }
        else
        {
            try
            {
                string temp = Console.Title;
                ServiceBase.Run((ServiceBase[])ComponentsToRun);
            }
            catch
            {
                RunAllServices();
            }
        }
    } // void Run

    private void RunAllServices()
    {
        foreach (ConsoleService component in ComponentsToRun)
        {
            component.Start();
        }
        WaitForCTRLC();
        foreach (ConsoleService component in ComponentsToRun)
        {
            component.Stop();
        }
    }
Run Code Online (Sandbox Code Playgroud)

编辑:在StackOverflow上有另一个问题,那个人有环境问题.CurrentDirectory是"C:\ Windows\System32"看起来可能是答案.我今天要考试.

.net c# windows-services

44
推荐指数
6
解决办法
3万
查看次数

如何确定工作状态?

我有一个存储过程来安排工作.这项工作需要很长时间才能完成(大约30到40分钟).我需要了解这份工作的状态.以下细节对我有帮助

1)如何查看已安排在未来时间但尚未开始的所有作业的列表

2)如何查看正在运行的作业列表以及它们运行时的时间跨度

3)如何查看作业是否已成功完成或由于任何错误而在两者之间停止.

sql t-sql stored-procedures sql-server-2005

43
推荐指数
5
解决办法
17万
查看次数

你能在mysql的WHERE子句中使用别名吗?

我需要在WHERE子句中使用别名,但它一直告诉我它是一个未知的列.有什么方法可以解决这个问题吗?我需要选择评级高于x的记录.评级计算如下:

sum(reviews.rev_rating)/count(reviews.rev_id) as avg_rating
Run Code Online (Sandbox Code Playgroud)

mysql sql having having-clause

119
推荐指数
3
解决办法
9万
查看次数

在Makefile中进行"切换"的好方法

我正在尝试使用更新的构建系统; 目前,我正试图找到一种根据目标平台设置编译器和标志的好方法.

我想做的是像

switch $(PLATFORM)_$(BUILD_TYPE)
  case "Linux_x86_release"
     CFLAGS = -O3
  case "Linux_x86_debug"
     CFLAGS = -O0 -g
  case "ARM_release"
     CC = armcc
     AR = armlink
     CFLAGS = -O2 -fx
     ...
Run Code Online (Sandbox Code Playgroud)

这是GNU Make不支持的.现在,我的第一个想法就是做

-include $(PLATFORM)_$(BUILD_TYPE)
Run Code Online (Sandbox Code Playgroud)

这是一个相当不错的解决方案,然而,它很难概述文件之间的差异,更不用说我期待编写和维护一个好的60-80文件,每个文件包含一组变量定义.

有没有人碰巧知道更好的方法来实现这一目标?即根据另一个变量设置一组标志和其他选项?

makefile switch-statement

15
推荐指数
4
解决办法
2万
查看次数

git中的"项目描述文件"错误?

我有一个小项目,我想在一台我们都可以访问的机器上与其他几个人共享.我创建了一个本地仓库的裸露副本

git clone --bare --no-hardlinks path/to/.git/ repoToShare.git
Run Code Online (Sandbox Code Playgroud)

然后我将repoToShare.git移动到服务器.

我可以用以下内容查看:

git clone ssh://user@address/opt/gitroot/repoToShare.git/ test
Run Code Online (Sandbox Code Playgroud)

然后我可以看到本地仓库中的所有内容并对此进行提交.当我尝试将更改推回到远程服务器时,我收到以下错误.

*** Project description file hasn't been set
error: hooks/update exited with error code 1
error: hook declined to update refs/heads/master
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

git

11
推荐指数
2
解决办法
2万
查看次数

在Linux上进行Flex开发,有什么好的免费环境?

我想使用Linux和免费环境开发Adobe Flex应用程序.我更喜欢自由的替代品,但啤酒也可以.;-)

您是否有人使用这样的环境开发Adobe Flex富Internet应用程序?或者我应该面对"事实",即Flex Builder是Flex开发的必备工具,没有它我或多或少会丢失?

apache-flex linux flash

24
推荐指数
1
解决办法
2万
查看次数

在Windows Mobile上轻松实现IPC?

在Windows Mobile上的C++项目(即没有.NET)中,我正在寻找一种在两个独立运行的应用程序之间轻松通信的方法.应用程序A将运行服务,而应用程序B将为用户提供一些功能--B必须为其调用某些功能.我宁愿不在COM中实现任何东西.

事实上,我宁愿不做任何类型的序列化或类似(即这将排除使用套接字/管道/文件),而是让B将所有参数和指针传递给A,就像A是B的一部分一样.此外,应用程序C,D和E应该能够只运行一个A实例.

我应该补充一点,B有时应该将数组(或std :: vector或std :: map)返回给A,其中大小以前不知道.

这可能在Windows Mobile和其他平台上可行吗?

ipc windows-mobile

5
推荐指数
1
解决办法
3070
查看次数

Eclipse - 生成的方法参数final

Eclipse可以为生成的方法(覆盖,实现接口等)最终制作参数,如果是,如何?

如果我没弄错的话,IntelliJ可以选择它.我在Eclipse中找不到类似的东西.

我已经习惯于手动制作参数,但我希望自动解决方案.

java eclipse coding-style

17
推荐指数
2
解决办法
5936
查看次数

我在哪里可以了解有关C++ 0x的更多信息?

我想了解更多有关C++ 0x的信息.什么是一些很好的参考和资源?有人写过关于这个主题的好书吗?

c++ reference-manual c++11

70
推荐指数
4
解决办法
6703
查看次数

如何在J2ME中读取字符串?

我正在使用MIDP 2.0(JSR 118),我只是注意到J2ME中没有读取器的字符串.

有谁知道你应该如何从平台InputStreamInputStreamReader平台独立的方式阅读字符串(即两个不同型号的java手机之间)?

java network-programming midp java-me

3
推荐指数
1
解决办法
4963
查看次数