问题标签 [topshelf]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
269 浏览

topshelf - Top Shelf 给出错误序列包含多个元素

我正在尝试使用顶层架子将控制台应用程序作为窗口服务托管,代码如下:

从命令行我运行为:

{"Sequence contains more than one element"}在最后一行 收到错误

有人可以帮忙吗?

0 投票
3 回答
2227 浏览

.net - 将控制台应用程序安装为 Windows 服务

我正在编写一个基于TopShelf的简单 Windows 服务。如何将我的应用程序安装为服务?我试图执行SpyService.exe install,但它不起作用。

接下来两种配置服务的方式有什么区别?

我注意到,如果我使用第二种方法,则服务已成功安装,但无法x.RunAsFromInteractive()像第一种方法那样启动服务。

0 投票
1 回答
1435 浏览

concurrent-programming - stact 框架入门

我一直在查看 Topshelf 代码,并注意到它使用了一个名为“stact.dll”的程序集。似乎没有很多关于这方面的信息。它似乎是一个使用参与者和“通道”构建并发应用程序的库。我发现 Topshelf 代码有点难以理解,但我有兴趣了解有关这种编程风格的更多信息。有人对这个图书馆有任何经验吗?你是如何开始学习如何使用它的?

0 投票
1 回答
4726 浏览

c# - 使用 TopShelf 创建一个简单的 MQ windows 服务

我正在使用 Topshelf 创建一个简单的 MQ 阅读服务。由于可用的文档很少 - 我遇到了一些可能很简单的问题,希望在这里得到解答:

1) 通常 - 获得我的服务实例的实际 servicebase 实例会非常好,因为有一堆我想访问的方法。我怎样才能做到这一点?

2)当调用 OnStop 时,我想刷新 MQ 并快速处理剩余的消息。但是,在 OnClose 中访问 MQ 会引发 MQ 访问异常——这是设计使然,还是?

3) 我在配置器中指定了 OnPause 和 OnContinue 重载。但是 - 服务未启用暂停/继续,因为未设置 AllowPauseAndContinue 标志。最好的方法是什么?

顺便说一句 - 是否有任何可用于 Topshelf 项目的文档 - 很高兴有。

感谢一个很棒的图书馆!

0 投票
2 回答
1575 浏览

c# - Topshelf - 类型或命名空间名称 Topshelf 找不到

我正在尝试使用 Topshelf 将控制台应用程序作为 Windows 服务托管,但我遇到了问题......

我已经从我的控制台应用程序中引用了 Topshelf dll 以及 log4net dll。但是,当我编译时——无论有没有引用 Topshelf 的代码,都会显示标题中提到的构建错误,然后我的 Topshelf 引用变得无效(还有 log4net)。

我觉得我遗漏了一些明显的东西 - 任何建议都将不胜感激。

0 投票
1 回答
1945 浏览

c# - 使用 Nancy 自托管 + TopShelf 的空白回复

我正在尝试在 Topshelf 服务中使用 Nancy(使用带有 Razor 视图的自托管 nuget 包)。我将它托管在http://localhost:8585/上,当我处于调试模式或直接调用我的可执行文件时它工作得很好。南希模块完美地提供了一个剃刀视图。

然后我安装应用程序:

当我启动服务时,它似乎工作得很好,并且没有错误。然后,当我在浏览器中访问http://localhost:8585/时,我得到一个空白响应。关于为什么的任何想法?

在开始使用 Topshelf 托管服务之前,我启动了 Nancy:

之后,topshelf 服务就这样配置和启动了:

我正在使用 ninject,StartService 和 StopService 方法只是打印 stopwatch.ElapsedMilliseconds 的当前值的函数。

这是我的 Nancy 模块的配置:

除了 Self Hosting & Razor 部分,我使用了 Nancy 中的所有默认设置。知道会发生什么吗?

我也尝试过netsh http add urlacl url=http://+:8585/ user=\Everyone,它似乎对行为没有任何影响。

0 投票
1 回答
5629 浏览

topshelf - 为什么我的 Topshelf 服务没有启动?

我有一个搁置的Topshelf服务在它应该启动的时候没有启动的问题:即使货架文件夹发生了变化,并且 Topshelf 注意到了这一点,该服务也没有启动。没有显示错误消息(实际上根本没有日志消息),我真的不知道从哪里开始寻找问题。

这就是我所拥有的:

  • 我在日志中验证了 Topshelf 注意到文件夹中的更改C:\Topshelf.Host\Services\MyService\

  • 我已验证 Topshelf 架子文件夹中的文件名是MyAssembly.dllMyAssembly.config. MyAssembly并且MyService是相同的,即使在大小写上也匹配。

  • 我的配置文件中有以下内容:

    /li>
  • 我有以下课程MyAssembly.dll

    /li>
0 投票
1 回答
3916 浏览

topshelf - 如何让 Topshelf 以域用户身份运行

如何让 Topshelf 作为特定域用户帐户运行?我在配置中

我在代码中有一个控制台语句,它打印出进程正在运行的 Windows 标识。这不是我指定的那个。

0 投票
2 回答
595 浏览

topshelf - 使用 stact 发出异步请求

抱歉,如果这看起来我想为我保存我的问题,但我前段时间偶然发现了 stact,它似乎是一个方便熟悉的库,我认为它可以很好地解决手头的问题。

我看了一下源代码,里面有很多!:) 不知道从哪里开始。

我需要的是一个组件(Actor?),它会定期发送异步 Web 请求并将结果存储在本地(首先会对结果进行一些解析)。其他线程将在不同时间询问结果。

据我所知,我需要一个调度器、一个光纤和一个通道来处理将结果返回给任何请求它们的人。类似于以下内容:

}

这暂时都是理论上的,可能完全错误,我遇到的主要问题是执行异步请求(WebClient.DownloadStringAsync() 和 DownloadStringCompleted)。与 AsyncResultChannel 相反的东西

任何提示/示例/推动正确方向将不胜感激!

(试图为 stact 创建一个标签,但我的声誉不够好:S)

0 投票
2 回答
3146 浏览

windows - 在使用 TopShelf 时,我遇到了“尚未安装 Topshelf.HostConfigurators.WindowsServiceDescription 服务”的错误。

有没有人在构建 Windows 服务时使用过 TopShelf?

尝试启动服务时,我一直遇到此错误,

“尚未安装 Topshelf.HostConfigurators.WindowsServiceDescription 服务。”

构建、安装程序、安装和所有这些步骤都已完成,并且该服务出现在 Windows Server 的服务列表中,但是当我单击该服务并尝试启动它时,会引发此异常。完整的错误消息如下所示。

INFO 10:23:08 作为 winservice 应用程序启动 致命 10:23:08 Topshelf.HostConfigurators.WindowsServiceDescription 服务尚未安装。请运行“RIS.ModelGenerator.Scheduler,Version=1.0.0.0,Culture=neutral,PublicKeyToken=null install”。错误 10:23:08 服务异常退出,出现异常 Topshelf.Exceptions.ConfigurationException:尚未安装 Topshelf.HostConfigurators.WindowsServiceDescription 服务。请运行“RIS.ModelGenerator.Scheduler,Version=1.0.0.0,Culture=neutral,PublicKeyToken=null install”。在 Topshelf.Windows.WindowsServiceHost.Run() in d:\BuildAgent-01\work\799c08e77fef999d\src\Topshelf\OS\Windows\WindowsServiceHost.cs:line 56 at Topshelf.HostFactory.Run(Action`1 configure) in d :\BuildAgent-01\work\799c08e77fef999d\src\Topshelf\Config\HostFactory。