当前位置: 首页 > 面试题库 >

如何使用Mono将.NET Windows Service应用程序迁移到Linux?

陆文康
2023-03-14
问题内容

使用Mono将.NET Windows服务迁移到Linux的最佳方法是什么?我一直在尝试避免将应用程序作为计划的命令执行。

是否有可能获得类似行为的服务/系统守护进程(在Linux中)?


问题答案:

在Linux下,重罪是简单的后台进程。没有特殊的控制方法(例如start()stop())作为在Windows中。将服务构建为简单(控制台)应用程序,然后在后台运行它。使用类似于daemonize将程序作为Unix守护程序运行的工具,并记住将其指定mono为要激活的程序。

正如其他人所指出的,mono-service是运行ServiceProcess程序集构建的服务的主机。为Windows构建的服务可以使用此方法在Linux下未经修改地运行。您可以通过向进程发送信号来控制服务(请参见手册页)。



 类似资料:
  • 我用xcode11运行我的应用程序,并且可以发布它。但是,我看到了苹果发布的下面这则公告; “从2021年4月开始,所有提交到应用商店的iOS和iPadOS应用都必须使用Xcode 12和iOS 14 SDK构建。” 我到底该怎么做?如果我下载Xcode12并运行我的应用程序,SDK会自动更新吗?安装iOS 14 SDK该怎么做? 或者我需要为我现有的豆荚“豆荚更新”吗?在我的项目“iOS部署目标

  • 在一个spring boot应用程序中,我用webclient给ms打了一个电话 响应实体响应 = webClient.post() .uri(“/auth/login”) .body(Mono.just(loginRequest), LoginDto.class) .retrieve() .toEntity(LoginResponse.class) .block(); 在我把角色放到一个集合中之

  • 我正在探索将java web应用程序移动到Azure应用程序服务的可能性。应用程序on prem在启动时读取属性文件。 是否有可能将属性文件传递或放置到应用服务?如果没有,建议将此类遗留应用程序移动到Azure应用服务?

  • 我有一个Web项目,我很容易在tomcat上对其进行depoly。事实上,我有一个实现的类(这个类真的很胖),因为你知道每个支持servlet 3.0的应用程序服务器,它可以很容易地检测到它并尝试启动它。现在我想知道是否可以使用Spring启动启动器,并且无需任何进一步的配置,我将我的传递给它,并根据我的启动我的项目进行Spring启动? 我只想使用spring boot的方法在Tomcat上部署

  • Tomcat10最近发布了,并尝试简单地部署应用程序。由于Java EE 8使用javax.*包名称空间,而Tomcat10使用Java EE 9,后者使用jakarta.*名称空间,因此很难从Tomcat9迁移到10。有什么方法或工具可以做到这一点吗?我认为这对tomcat 7/8也是一样的。

  • 我发现这个类是的一部分,但我使用的是。 我复制了hibernate-core-4.2.0.final.jar,hibernate-ehcache-4.2.0.final.jar,cglib-2.2.2.jar,hibernate-jpa-2.0-api-1.0.1.final.jar,hibernate-commons-annotations-4.0.1.final.jar,hibernate-e