在 onStart() 方法中停止 Windows 服务

2024-01-02

我想停止 Windows 服务onStart()客户没有许可证时的方法。我用service.Stop(),但它不起作用。

protected override void OnStart(string[] args)
{
    try
    {
        _bridgeServiceEventLog.WriteEntry("new OnStart");
        if (LicenseValidetor.ValidCountAndTypeDevices())
        {
            WsInitializeBridge();
        }
        else
        {
            service = new ServiceController("BridgeService");
            service.Stop();
            _bridgeServiceEventLog.WriteEntry("LicenseValidetor Error");
        }
        _bridgeServiceEventLog.WriteEntry("end Start");
    }
    catch (Exception e)
    {
        _bridgeServiceEventLog.WriteEntry("error In onstart method ");
    }

}

您无法从以下位置停止服务OnStart相同服务的方法。

The ServiceController.Stop http://msdn.microsoft.com/en-us/library/system.serviceprocess.servicecontroller.stop.aspx方法内部调用ControlService http://msdn.microsoft.com/en-us/library/windows/desktop/ms682108%28v=vs.85%29.aspx(或者它是Ex对方)。请注意,此函数可能失败的原因之一是:

ERROR_SERVICE_CANNOT_ACCEPT_CTRL请求的控制代码无法发送到服务,因为服务的状态为服务已停止, SERVICE_START_PENDING, or SERVICE_STOP_PENDING.

好吧,猜猜看 - 当你在你的OnStart方法,你的服务状态是SERVICE_START_PENDING.


处理这种情况的正确方法是向任何其他线程发出信号,表明您可能已开始让它们退出,然后退出您的线程。OnStart方法。服务控制管理器将注意到该进程已退出并将您的服务状态恢复为SERVICE_STOPPED。它还可能通知交互式用户“服务启动然后停止”或类似的文字。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 onStart() 方法中停止 Windows 服务 的相关文章

  • OpenCv读/写视频色差

    我试图简单地使用 openCV 打开视频 处理帧并将处理后的帧写入新的视频文件 我的问题是 即使我根本不处理帧 只是打开视频 使用 VideoCapture 读取帧并使用 VideoWriter 将它们写入新文件 输出文件看起来比输入更 绿
  • 使用具有现有访问令牌的 Google API .NET 客户端

    用例如下 移动应用程序正在通过 Google 对用户进行身份验证 并且在某些时候 我们需要将用户的视频发布到他的 YouTube 帐户 出于实际原因 实际发布应该由后端完成 已经存储在那里的大文件 由于用户已经通过应用程序的身份验证 因此应
  • 向 ExpandoObject 添加方法时,“关键字 'this' 在静态属性、静态方法或静态字段初始值设定项中无效”

    我尝试向 ExpandoObject 添加一个动态方法 该方法将返回属性 动态添加 给它 但它总是给我错误 我在这里做错了什么吗 using System using System Collections Generic using Sys
  • 如何创建可以像 UserControl 一样编辑的 TabPage 子类?

    我想创建一个包含一些控件的 TabPage 子类 并且我想通过设计器来控制这些控件的布局和属性 但是 如果我在设计器中打开子类 我将无法像在 UserControl 上那样定位它们 我不想创建一个带有 UserControl 实例的 Tab
  • 32 位应用程序的特征最大矩阵大小

    所以 我正在寻找Eigen http eigen tuxfamily org index php title Main Page当我尝试声明大于 10000x10000 的矩阵时 包崩溃 我需要声明一个像这样的矩阵 可靠地大约有 13000
  • 如何从 C# 控制器重定向到外部 url

    我使用 C 控制器作为网络服务 在其中我想将用户重定向到外部网址 我该怎么做 Tried System Web HttpContext Current Response Redirect 但没有成功 使用控制器的重定向 http msdn
  • IronPython:没有名为 json 的模块

    我安装了 IronPython 我的 python 文件如下所示 import sys print sys version import json 运行它的代码 var p Python CreateEngine var scope p C
  • 当前的 c++ 工作草案与当前标准有何不同

    通过搜索该标准的 PDF 版本 我最终找到了这个链接C 标准措辞草案 http www open std org jtc1 sc22 wg21 docs papers 2012 n3376 pdf从 2011 年开始 我意识到我可以购买最终
  • Qt 创建布局并动态添加小部件到布局

    我正在尝试在 MainWindow 类中动态创建布局 我有四个框架 它们是用网格布局对象放置的 每个框架都包含一个自定义的 ClockWidget 我希望 ClockWidget 对象在调整主窗口大小时相应地调整大小 因此我需要将它们添加到
  • 生产代码中的 LRU 实现

    我有一些 C 代码 需要使用 LRU 技术实现缓存替换 目前我知道两种实现LRU缓存替换的方法 每次访问缓存数据时使用时间戳 最后比较替换时的时间戳 使用缓存项的堆栈 如果最近访问过它们 则将它们移动到顶部 因此最后底部将包含 LRU 候选
  • 将构建日期放入“关于”框中

    我有一个带有 关于 框的 C WinForms 应用程序 我使用以下方法将版本号放入 关于 框中 FileVersionInfo GetVersionInfo Assembly GetExecutingAssembly Location F
  • 尚未处理时调用 Form 的 Invoke 时出现 ObjectDisposeException

    我们得到一个ObjectDisposedException从一个电话到Invoke在尚未处理的表格上 这是一些演示该问题的示例代码 public partial class Form2 Form void Form2 Load object
  • 当前的 x86 架构是否支持非临时加载(来自“正常”内存)?

    我知道有关此主题的多个问题 但是 我没有看到任何明确的答案或任何基准测量 因此 我创建了一个处理两个整数数组的简单程序 第一个数组a非常大 64 MB 第二个数组b很小 无法放入 L1 缓存 程序迭代a并将其元素添加到相应的元素中b在模块化
  • 结构体指针的动态数组

    我必须使用以下代码块来完成学校作业 严格不进行任何修改 typedef struct char firstName char lastName int id float mark pStudentRecord pStudentRecord
  • 剪贴板在 .NET 3.5 和 4 中的行为有所不同,但为什么呢?

    我们最近将一个非常大的项目从 NET Framework 3 5 升级到 4 最初一切似乎都工作正常 但现在复制粘贴操作开始出现错误 我已经成功制作了一个小型的可复制应用程序 它显示了 NET 3 5 和 4 中的不同行为 我还找到了一种解
  • 什么是 __declspec 以及何时需要使用它?

    我见过这样的例子 declspec在我正在阅读的代码中 它是什么 我什么时候需要使用这个构造 这是 Microsoft 对 C 语言的特定扩展 它允许您使用存储类信息来赋予类型或函数属性 文档 declspec C https learn
  • 转到定义:“无法导航到插入符号下的符号。”

    这个问题的答案是社区努力 help privileges edit community wiki 编辑现有答案以改进这篇文章 目前不接受新的答案或互动 我今天突然开始在我的项目中遇到一个问题 单击 转到定义 会出现一个奇怪的错误 无法导航到
  • 运算符“==”不能应用于“int”和“string”类型的操作数

    我正在编写一个程序 我想到了一个数字 然后计算机猜测了它 我一边尝试一边测试它 但我不断收到不应该出现的错误 错误是主题标题 我使用 Int Parse 来转换我的字符串 但我不知道为什么会收到错误 我知道它说 不能与整数一起使用 但我在网
  • WinRT 定时注销

    我正在开发一个 WinRT 应用程序 要求之一是应用程序应具有 定时注销 功能 这意味着在任何屏幕上 如果应用程序空闲了 10 分钟 应用程序应该注销并导航回主屏幕 显然 执行此操作的强力方法是在每个页面的每个网格上连接指针按下事件 并在触
  • 使用 Crypto++ 获取 ECDSA 签名

    我必须使用 Crypto 在变量中获取 ECDSA 签名 我在启动 SignMessage 后尝试获取它 但签名为空 我怎样才能得到它 你看过 Crypto wiki 吗 上面有很多东西椭圆曲线数字签名算法 http www cryptop

随机推荐

  • 对于失败的验证或无效的重复项,我应该使用哪个状态代码?

    我正在使用基于 REST 的 API 构建一个应用程序 并且已经为每个请求指定状态代码 对于验证失败的请求或尝试在数据库中添加重复项的请求 我应该发送什么状态代码 我已经看过了http www w3 org Protocols rfc261
  • 如何让 Scala BigDecimal 显示大量数字?

    执行以下操作 val num BigDecimal 1 0 val den BigDecimal 3 0 println num den MathContext DECIMAL128 我只得到 0 333333333333333333333
  • 当尝试 String#upcase Ruby 时,一无所知......

    我刚刚安装了 RVM 正在阅读 The Well Grounded Rubyist 一书 在第一章中我应该尝试ri String upcase查看有关 upcase 方法的文档 但是我收到一条消息 关于 String upcase 一无所知
  • 如何在 googlemock 中创建部分(混合)模拟?

    谷歌建议将调用委托给父对象 https github com google googletest blob master googlemock docs CookBook md delegating calls to a real obje
  • 为什么我从 Membership.GetCurrentUserName 收到 NullReferenceException?

    我刚刚转而使用 msbuild 来预编译我的网站 现在我收到了这个奇怪的错误 我调用了 Membership GetUser 它抛出 NullReferenceException Object reference not set to an
  • 如何在VueJs中动态添加属性

    我正在使用 vuejs 我想知道如何控制输入 必要时添加禁用属性 有没有办法在vuejs中动态添加属性 下面我的文本字段组件
  • 安排 Amazon Elastic MapReduce 作业的工具/方法

    我使用 EMR 创建新实例并处理作业 然后关闭实例 我的要求是定期安排工作 一种简单的实施方式是使用石英来触发 EMR 作业 但从长远来看 我对使用开箱即用的 MapReduce 调度解决方案感兴趣 我的问题是 EMR 或 AWS SDK
  • 如何使用 Kotlin 在 Android Studio 中的 RecyclerView 上添加 Onclick 监听器?

    所以我想要一个onclicklistener for my RecyclerView在 Android 中 但我不知道该怎么做 我有一个CustomAdapterClass for my Workoutlist看起来像这样 class Cu
  • href 与脚本化页面转换和按钮突出显示

    我正在与 knockout js 一起构建许多 jQuery Mobile SPA 总体上取得了巨大的成功 我确实注意到这主要是一个外观问题 现在希望能解决它 通过链接的锚标记href产生一个漂亮的按钮突出显示 默认主题为蓝色 在页面转换期
  • plist本地化问题

    我的 plist 有一个奇怪的问题 我正在使用 xcode 4 每当我尝试将本地化放在这个 plist 上时 我都无法编辑它 我的意思是 当我编辑和更改 plist 中的值时 应用程序仍然采用旧值 即使我删除它 我仍然加载了旧的 plist
  • SQL Server 2012 - “可重复读”隔离级别如何工作?

    我觉得我应该知道这一点 但我找不到任何具体概述这一点的内容 所以就这样吧 The 文档 https msdn microsoft com en us library ms173763 aspx对于 SQL Server 将 REPEATAB
  • 在 Java 中创建动态二维矩阵

    我想要一个动态矩阵 行数和列数未知 通过单击按钮填充它 但还有更多 我不想添加整行 而只是一次添加一个单元格 单击一下 添加一个单元格 当然不是随机的 第一行的第一个单元格 第一行的第二个单元格 然后第二行的相同单元格 依此类推 我了解 U
  • 为每个项目执行 npm install 会占用太多驱动器空间

    有没有什么方法可以将 npm install 路由到硬盘驱动器的特定部分 当我执行 npm install 时 它会在驱动器的该部分中创建 node module 文件夹 当我运行任何项目时 它会在驱动器的该部分中查找依赖项 就像单身一样p
  • UIWebView 获取 HTML 源

    我正在尝试获取 UIWebView 的 HTML 源代码 而无需再次重新下载 也称为进行另一次下载 例如 NSData dataWithContentsOfURL NSURL URL 或启动 NSURLRequest 浏览 UIWebVie
  • 在生产环境中部署 Sql Server Reporting Services 报告

    如何在生产盒上部署 Sql 服务器报告 在本地这不是问题 我只需指定 url 然后右键单击项目并说部署 将其部署在我的本地服务器上 但生产服务器却并非如此 我建议您创建可以在生产服务器上执行的 rs 脚本 查看 Reporting Serv
  • 如何在 WordPress 页面中创建不同的可编辑部分?

    我一直在 WordPress 上构建我的第一个主题 但在将内容添加到不同部分时遇到了问题 我的 HTML 有点像这样 div lt Text gt div div lt Text and Images gt div div lt Text
  • 哪些 GTK+ 元素支持哪些 CSS 属性?

    在将我自己的 CSS 应用到 GTK 应用程序时 我注意到某些元素忽略某些 CSS 属性 而其他元素则忽略其他元素或不忽略它们 这导致我搜索哪些元素支持哪些 CSS 属性的概述 到目前为止我找不到任何这样的概述 例如Gtk Label不支持
  • 用于公开通用接口的非通用版本的模式

    假设我有以下用于公开分页列表的界面 public interface IPagedList
  • 如何在单击时向按钮添加类

    很抱歉提出了愚蠢的问题 但我无法在单击时向按钮添加类 我有按钮列表 单击后我需要更改活动按钮的背景 我不知道如何在单击列表内部并添加类时获取元素的索引 我需要用纯 JavaScript 来实现 只需要离开 document ready fu
  • 在 onStart() 方法中停止 Windows 服务

    我想停止 Windows 服务onStart 客户没有许可证时的方法 我用service Stop 但它不起作用 protected override void OnStart string args try bridgeServiceEv