草庐IT

c# - 运行 Windows 服务以观察服务运行增长内存(泄漏)

我已经检查了这里的所有帖子,但到目前为止找不到适合我的解决方案。我确实设置了一个小服务,它应该只监视我要监视的其他服务是否运行,如果没有运行,则重新启动它并在应用程序事件日志中放置一条消息。该服务本身运行良好,没什么特别的:),但是当我启动该服务时,它使用大约1.6MB的RAM,并且每10秒它增长60-70k,这足以忍受它。我尝试处理并清除所有资源。尝试使用System.Timers而不是实际的解决方案,但没有任何效果如我所愿,内存仍在增长。调试或发布版本没有区别,我在.Net2上使用它,不知道它对你3、3.5或4是否有影响。有什么提示吗?!usingSystem;usingSyste

WCF 停止的 Windows 服务

我有一个作为Windows服务托管的WCF应用程序。此Windows服务每15分钟触发一次此WCF。但是,当此WCF中发生异常时,服务将停止。我不希望此服务停止。我想了解如何处理此异常并在15分钟后触发此WCF。 最佳答案 您应该在所有服务操作中处理异常,以便:返回好的错误给调用者防止服务严重失败围绕每个操作放置一个try/catch或使用自定义行为来处理来自您的服务的所有异常 关于WCF停止的Windows服务,我们在StackOverflow上找到一个类似的问题:

java - ServerSocket,Tomcat 作为服务和端口

我有一个提供嵌入式Jetty的应用程序(Java)。默认情况下,我尝试获取Jetty服务器的端口8080。如果端口正在使用中,我会随机尝试一个:try{socket=newServerSocket(def);}catch(IOExceptione){socket=newServerSocket(0);}问题是我有一个客户在8080上运行一个Tomcat。如果关闭tomcat,一切都很好。如果Tomcat作为服务运行,并且我的应用程序想要获取一个端口,它会获取默认端口(8080),尽管tomcat正在那里监听。如果浏览localhost:8080/test.html,我会从Tomcat得

运行安装包问题的 C# Windows 服务

我设计了一个windows服务,定期检查是否安装了特定的应用程序,当它发现没有安装时,它会从共享网络位置下载它,该文件是一个静默和无人值守的安装exe(自安装).我在运行安装程序时遇到问题,所以我决定不尝试运行安装程序,而是运行一个小的helloworldwindows窗体应用程序,只是为了看看这个简单的事情是否有效。经过几个小时的困惑后,我终于发现helloworld应用程序确实可以运行,但在不同的用户下运行-特别是本地机器。在接下来的几个小时里,我发现我必须关闭UAC(Vista/7)并允许该服务与桌面交互。在此之后,我终于在桌面上收到一个提示,提示有一项服务正在尝试运行某些东西,

windows - 在 Windows 服务中打印

我正在尝试在Windows服务中进行打印。使用了以下VB.Net代码:Dim_pdAsNewSystem.Drawing.Printing.PrintDocument()AddHandler_pd.PrintPage,NewSystem.Drawing.Printing.PrintPageEventHandler(AddressOfPrintDocument_PrintPage)AddHandler_pd.EndPrint,NewSystem.Drawing.Printing.PrintEventHandler(AddressOfPrintDocument_EndPrint)_pd.P

c# - 创建和使用 C# Windows 服务

我有一台运行IIS7.5的Windows2008R2服务器。目前,我使用WCF向外部公开一个接口(interface),代码然后从我的DLL中调用例程。我想摆脱这种直接访问,并在C#中创建某种我可以在后台运行的守护进程。我将使用守护进程来监视线程、接受请求和平衡性能。我计划允许守护进程完全访问我的主应用程序的DLL,然后让WCF服务在收到命令时将命令传递给守护进程。我在Internet上查找了一些有关创建Windows服务、构建安装程序和注册服务的示例;但是,我似乎找不到任何关于如何通过不同的应用程序与正在运行的服务进行交互的文档。这里或多或少是我想要做的事情的一个例子:假设我已经构建

c++ - Windows 服务无法识别网络路径。解决方法是什么?

我们有一个BuffaloNAS驱动器作为备份驱动器。当我们将此驱动器映射为B:\时,我们的备份应用程序似乎理解这一点并作为应用程序运行。但当作为服务运行时,它无法识别映射并崩溃。我尝试将路径作为\\\192.168.x.x\Backups\作为备份路径,该服务运行但随后许多子模块失败,因为它看到\\\作为转义字符。Windows服务可以看到映射的驱动器的解决方法是什么。我正在尝试通过CreateProcess()运行zip.exe;""C:\Users\jvenkatraj\Documents\SQLite\Debug\zip.exe"-9-q-g-u"\\\192.168.123.6

windows - 如何以编程方式调用 "Log on as a service Properties"窗口?

如何以编程方式调用“作为服务登录属性”窗口?我可以使用命令行和mmc执行此操作吗? 最佳答案 根据评论中的要求,我有一些非常简单的代码可以设置已注册服务的用户名和密码。当然,这需要在服务安装时完成,也就是当您拥有提升的权限时。代码恰好在Delphi中,但将其移植到另一种语言应该是微不足道的。函数调用都是WindowsAPI调用,文档可以在MSDN中找到。SvcMgr:=OpenSCManager(nil,nil,SC_MANAGER_ALL_ACCESS);ifSvcMgr=0thenbeginRaiseLastOSError;//

c# - Windows 服务的数据执行保护

我运行的是Windows7Ultimate64位。我有一个Windows服务(用C#编写)调用南非一家主要电信服务提供商(TELKOM)发布的dll。该dll称为MPIEst.dll,我相信它是用C++编写的。链接处的人(http://social.msdn.microsoft.com/Forums/en-US/windowscompatibility/thread/a7e5aafc-bb52-42c3-a3b7-19cb4cfbf6d5/)有点和我有同样的问题。在做了一些研究之后,我发现DEP(数据执行保护)是错误“无法加载DLL'MPIest.dll':对内存位置的无效访问。(HR

c++ - 使用 CreateProcessAsUser 将焦点放在从系统服务启动的窗口上

我有一个系统服务,它使用CreateProcessAsUser方法启动应用程序。此服务使用模拟在事件session中启动应用程序。该应用程序正在按预期启动,我设法通过使用使窗口出现在前面:SetWindowPos(&this->wndTopMost,0,0,0,0,SWP_NOSIZE|SWP_NOMOVE);但我不知道该怎么做才能让应用程序获得键盘焦点。即使应用程序在顶部,只要用户没有点击窗口,键盘输入就会转到我的应用程序下方的应用程序。 最佳答案 让您的应用程序通过RegisterHotKey注册一个(精心选择的)热键然后通过S