踩坑 Windows 服务来宿主 .NET 程序】的更多相关文章

本文所指的 .NET 程序为 .NET6 的程序.因为 .NET 的版本更新很快,所以方式.方法也有变化,所以网上搜到的方法有些也过时了.以下是最近我实践下来的一点心得(坑). 上一篇说到 不安装运行时运行 .NET 程序 后我们的程序已经只有一个 dll/exe 了,但是在 windows 上运行的时候会是一个控制台程序,很容易人不小心关闭了.所以想着把我们的程序部署成 windows 服务,这样不会误关,重启服务器的时候也会自动启动.所以最近折腾了一下把 .NET 程序,特别是 ASP.NE…
废话不多说,直接进入主题: 1.打开vs2010新建项目,选择Windows服务. 2.选中WindowsService右击,添加WCF服务. 3.添加成功后,为下图.将接口类ITestService和实现类TestService放在一个文件夹内(为了美观),并且增加System.ServiceModel 类的引用. 4.修改一下DoWork方法,方便调用.接口类上打上[ServiceContract]标签,需要暴露的服务方法上打上[OperationContract] 5.最重要的是编辑Ser…
大家写windows服务守护进程的时候,肯定会遇到启动的程序看不到界面,只能在任务管理器里面看到xxx.exe问题. 发现可能有如下情况 a.无论是开机,还是程序被关掉后,守护服务启动的程序只能看到任务管理器exe的进程,看不到界面; b.开机后,守护服务自动启动程序,只能看到进程里面有exe进程,看不到界面,但是杀掉进程重启后,能看到界面; 我来给出解决方法:1.服务中的启动程序代码用如下方法: string appStartPath = @"C:\Test.exe"; IntPtr…
VS2017项目程序打包成.msi或者.exe Windows服务项目使用VS2017项目程序打包成.msi或者.exe安装包 项目打包成安装包(Windows服务) 1.安装打包插件:Microsoft Visual Studio 2017 Installer Projects 打开vs2017 ,选择 工具 --> 扩展和更新 --> 联机,搜索Microsoft Visual Studio 2017 Installer Projects,进行安装.安装好以后,重启vs2017 2.新建程…
在Windows服务里面启动其他具有界面的应用程序,需要穿透session隔离,尝试了很多种方法,都可行,现在一一列举下来,并写下几个需要注意的地方. 需要注意的地方 首先要将服务的Account属性设置为LocalSystem,安装服务后的登录身份则为本地系统账户         再一个需要注意的是不要把Windows服务的程序放在C:\Users\Administrator\目录下运行,不然启动服务的时候会遇到权限问题,如下图   实现代码如下 第一种方法 调用方法 WinAPI_Inter…
最近在东营做一个超市购物的项目,业务体量很小,是仅供内部员工使用的内网应用程序,其中涉及一个商品数据同步的winform应用程序,有一个问题就是服务器重启后,必须登录服务器操作系统,手动启动才行,于是就想改成一个开机自启动的程序,网上搜了一堆出来,我大致分为两种解决方案:一,把winform改成开机自启,主要思路就是更改注册表,要么直接改注册表,要么把改注册表的代码加在winform程序里.二,把winform应用程序放到任务计划里,或者放到开机自启文件夹里(startup),或者由window…
命名管道:NamedPipeClientStream & NamedPipeClientStream 参考实例:http://msdn.microsoft.com/zh-cn/library/bb546085(VS.90).aspx http://bbs.csdn.net/topics/390789374?page=1…
https://blog.csdn.net/weixin_40411331/article/details/80193376 https://blog.csdn.net/qq_33188180/article/details/79133478 https://blog.csdn.net/weixin_40423572/article/details/80556043…
解决pip install出现“由于目标计算机积极拒绝,无法连接”的问题   可能是使用某软件自动设置了代理, 所以需要手动的取消代理才可以.   在Intel选项中把所有的代理都给去掉就可以了....  …
在Windows系统做网络开发,很多时候都是使用Windows服务的模式,但在调度阶段,我们更多的是使用控制台的模式.在开发程序的时候,我们在Program的Main入口进行判断.最初开始使用Environment.UserInteractive属性,在系统不系统服务的交互模式时,程序运行是正常的,但试过有Win7下,系统允许交互模式,结果在服务启动的时候,跳转到控制台的模式了,服务启动不起来.只能在服务的调用方式下带参数,然后在Main的参数中判断是否为服务方式.这在一般的情况下是可以解决问题…
引言 用过原生开发的小程序也知道除了api 其他功能性的内容并不多对于需要做大型项目来说是比较难入手的,因此朋友推荐的wepy我就入坑鸟...这么一个跟vue的开发方式类似的框架,不过说起来跟vue类似,但是用起来还真不是那么简单.api开发还是和部分vue有出入,因此如下记录,入手的教程就不发了只发踩坑. 官方文档 小程序的官方文档wepy官方文档 下面是已经踩过的坑 wepy 问题查找 https://github.com/Tencent/we...比较建议在这里查找下遇到的问题之后在提问毕…
在我之前的一篇博客中我介绍了如何发布WCF服务并将该服务寄宿于IIS上,今天我再来介绍一种方式,就是将WCF服务寄宿在Windows服务中,这样做有什么好处呢?当然可以省去部署IIS等一系列的问题,能够让部署更加简单,当然WCF的寄宿方式一般分为以下四种方式,针对每一种方式我来简单介绍以下: 具体的寄宿方式详细信息请参考MSDN:https://msdn.microsoft.com/zh-cn/library/ms733109(v=vs.100).aspx 一.WCF服务寄宿方式: 1):寄宿在…
服务基础 安装管理员打开cmd cd C:\Windows\Microsoft.NET\Framework\v4.0.30319 InstallUtil.exe Path_WinSvc.exe 或者 将 InstallUtil.exe 直接拷贝到生成目录,运行 InstallUtil WinSvcName.exe 基础 原生实现 ServiceBase ServiceInstaller 问题梳理 在初始化安装时发生异常:System.BadImageFormatException: 未能加载文件…
Vue 环境配置踩坑 目录 Vue 环境配置踩坑 windows下cnpm -v :无法将"cnpm"项识别为 cmdlet.函数.脚本文件或可运行程序的名称. windows下cnpm -v :无法将"cnpm"项识别为 cmdlet.函数.脚本文件或可运行程序的名称. npm和cnpm都是在git的全局环境下下载的 且安装完cnpm,nodejs文件夹下就已经有了node_cache.node_global这两个文件夹: 而且在用户变量里path变量路径已经存在…
参考:http://blog.csdn.net ,http://blog.csdn.net/dyzcode 1.新建 visual studio insaller 项目2.添加 [文件系统]3.添加 项目输出 到 application folder 目录   windows服务要添加 安装程序 4.开机自启动 StartType=AutoMatic 参考:MSDN 5.添加自定义操作 6.Install,Commit,Rollback,Uninstall 文件夹下添加主输出 安装测试下!…
将VS创建的Windows服务项目编译生成的程序,通过命令行 “服务.exe -Service”注册为Windows服务后,就可以通过服务管理器进行管理了. 问题 通过服务管理器进行启动的时候,发现服务无法启动,提示错误 由于程序代码是由VS的项目模板生成的,生成后直接编译为Debug版,然后通过命令行进行注册,期间并没有修改过任何代码. 难道是只有Release版本才能通过服务管理器启动吗.于是将Release版注册为服务,通过服务管理器启动,仍然会报同样的错误. 由于服务比较特殊,应该会在W…
伴随着研究Windows服务,逐渐掌握了一些小技巧,现在与大家分享一下. 将Windows服务转变为控制台程序 由于默认的Windows服务程序,编译后为Win32的窗口程序.我们在程序启动或运行过程中,如果想看到一些调试信息,那么就只能通过DebugView或者输出到日志的方式了.因为如果我们通过printf或者std::cout输出调试信息的话,Win32窗口程序是无法显示的. 此时,我们是多么怀念我们的经典的控制台程序啊,它可以很方便的将我们的调试信息输出出来,简直是太方便了.既然如此,那…
本实例主要实现下面三个基本功能 1.C#开发windows服务 2.禁止QQ等程序运行 3.为windows服务创建自动安装程序 下面针对这三个基本功能进行实现 一.C#开发windows服务 Windows服务在VS以前的版本中叫NT服务,在VS.NET启用了新的名称.用C#创建windows服务不是一件困难的事,下页针对服务创建.启动.停止做详细介绍 1.首先在vs中添加一winform程序KillService 2.在解决方案添加新项中添加Windows服务 3.打开服务页面,切换至代码页…
原文:玩转Windows服务系列——Windows服务小技巧 伴随着研究Windows服务,逐渐掌握了一些小技巧,现在与大家分享一下. 将Windows服务转变为控制台程序 由于默认的Windows服务程序,编译后为Win32的窗口程序.我们在程序启动或运行过程中,如果想看到一些调试信息,那么就只能通过DebugView或者输出到日志的方式了.因为如果我们通过printf或者std::cout输出调试信息的话,Win32窗口程序是无法显示的. 此时,我们是多么怀念我们的经典的控制台程序啊,它可以…
Windows服务小技巧 阅读目录 开始 将Windows服务转变为控制台程序 注册服务为自动启动服务 注册服务时设置服务的依赖关系 添加自定义命令行参数 自定义命令行参数演示 系列链接 伴随着研究Windows服务,逐渐掌握了一些小技巧,现在与大家分享一下. 将Windows服务转变为控制台程序 由于默认的Windows服务程序,编译后为Win32的窗口程序.我们在程序启动或运行过程中,如果想看到一些调试信息,那么就只能通过DebugView或者输出到日志的方式了.因为如果我们通过printf…
C# 制作Windows服务安装包   这两天公司要用C#写一个windows服务,做成安装安装包.制作的过程中遇到了一些问题,写完之后总结一下.如果以后在用到的话可以可以参考一下,而且由于原来没有做过,不知道这样做是对是不对,请各位看官如果发现有不当之处请指教. 开始的时候我的开发工具VS 2012,需要用InstallShield,没闹明白,时间紧迫没有搞,改用vs2010. 首先创建一个windows服务:       添加安装程序:            设置服务的属性:        …
译文,个人原创,转载请注明出处(C# 6 与 .NET Core 1.0 高级编程 - 39 章 Windows 服务(下)),不对的地方欢迎指出与交流. 章节出自<Professional C# 6 and .NET Core 1.0>.水平有限,各位阅读时仔细分辨,唯望莫误人子弟. 附英文版原文:Professional C# 6 and .NET Core 1.0 - Chapter 39 Windows Services 本章节译文分为上下篇,上篇见:C# 6 与 .NET Core…
为什么部署至Windows Services 在很多情况下,很少会把.Net Core项目部署至Windows服务中,特别是Asp.net Core就更少了.一般情况下,Asp.net Core会部署至linux服务器,或者部署至Windows的IIS中.但也不排除会有Asp.net Core部署至Windows 服务中的情况,比如Windows服务器并没有安装IIS,或者Asp.net Core中存在一些定时任务,需要实时运行,等等一些情况. 微软解决方案 微软也提供了.Net Core部署至…
原文: .NET Core Workers as Windows Services 在 .NET Core 3.0 中,我们引入了一种名为 Worker Service 的新型应用程序模板.此模板旨在为您在 .NET Core 中编写长时间运行的服务的提供一个起点.在本演练中,我们将创建一个 worker 并将其作为 Windows 服务运行. 创建一个 Worker 注意:在我们的预览版中,worker 模板与 Web 模板位于同一级菜单中.这将在未来的版本中发生变化.我们打算将 Worker…
Ø  前言 C# 创建 Windows 服务的方式有很多种,Topshelf 就是其中一种方式,而且使用起来比较简单.下面使用 Visual Studio Ultimate 2013 演示一下具体的使用步骤: 1.   首先,新建一个控制台应用程序,Framework 版本选择4.5,用于测试和启动 Windows 服务. 2.   打开程序包管理器控制台,安装 Topshelft 所需的 dll 文件. 1)   安装 Topshelft.dll 1.   注意:因为需要跟当前项目的 .NET…
出处:http://www.cnblogs.com/wuhuacong/archive/2009/02/11/1381428.html 如何创建一个标准的Windows服务 在很多时候,我们需要一个定时器,当间隔某段时间或者在某一个时刻的时候,触发某个业务的处理,这个时候,我们就可能需要引入Windows服务来做这个事情,如某些数据的同步操作.某些工作任务的创建或者侦听某些端口的工作等等.做过Windows Forms开发的人,对开发Windows服务可能会熟悉一些,其实它本身应该算是一个Win…
最近项目中需要将一些业务的处理程序改造为windows服务,但是考虑到实际需求,也需要能够直接双击运行这些处理程序.首先第一步想到的就是原来的项目不变,只需要在加一个windows服务的项目就行.但是实际使用中还是比较有风险,可能别人无意中关闭了你的运行程序,或者服务器维护重启之后需要启动大量的exe程序.所以需要将这些处理程序改造成既能以exe的形式双击运行,又能将该程序注册为windows服务开机自动运行. 首先我们的大量的处理程序都是以控制台程序存在,所以这里主要介绍控制台程序改造.在改造…
NSSM把.Net Core部署至 Windows 服务 https://www.cnblogs.com/emrys5/p/nssm-netcore.html 为什么部署至Windows Services 在很多情况下,很少会把.Net Core项目部署至Windows服务中,特别是Asp.net Core就更少了.一般情况下,Asp.net Core会部署至linux服务器,或者部署至Windows的IIS中.但也不排除会有Asp.net Core部署至Windows 服务中的情况,比如Win…
我公司项目的产线系统要与WMS物流系统做借口对接,需要我创建一个windows服务的项目,里面含有7个服务 创建Windows服务: 1.如图:点击 windows->经典桌面->windows服务,填写项目名称点击确定即可,此时已有一个Service1.cs 2.添加第二个服务,右击选择添加新建项-> 常规 -> windows服务 ,此时多了一个Service2.cs 3.分别双击service1.cs和service2.cs 打开设计器 4.在空白处右击 选择“添加安装程序”…
Windows服务是非常强大的应用程序,可用于在backgorund中执行许多不同类型的任务.他们可以在不需要任何用户登录的情况下启动,并且可以使用除登录用户之外的其他用户帐户运行.但是,如果通过遵循常规服务开发步骤开发Windows服务应用程序,即使在开发环境中也难以调试. 本文提出了一种不使用任何服务开发库(如Topshelf)开发Windows服务的不同方法,以便在开发阶段轻松监视和调试. 特征 示例项目具有以下功能; 它在调试模式下作为控制台应用程序运行,在发布模式下作为常规Window…