Tag: service

在Windows XP登录屏幕(.NET / Pinvoke)上运行进程(使用GUI)

我需要在登录屏幕上编写一个运行应用程序(使用gui,例如calc.exe )的小服务 。 我已经找到了这个问题(和答案): 在Windows 7欢迎屏幕上运行一个进程 如果您不理解这是如何工作的,请阅读代码注释: // grab the winlogon process Process winLogon = null; foreach (Process p in Process.GetProcesses()) { if (p.ProcessName.Contains(“winlogon”)) { winLogon = p; break; } } // grab the winlogon’s token IntPtr userToken = IntPtr.Zero; if (!OpenProcessToken(winLogon.Handle, TOKEN_QUERY | TOKEN_IMPERSONATE | TOKEN_DUPLICATE, out userToken)) { log(“ERROR: OpenProcessToken returned false – […]

如何远程重启服务?

我可以从.net项目远程启动或停止服务。 ConnectionOptions options = new ConnectionOptions(); options.Username = @”192.168.36.22\test”; options.Password = “test”; ManagementScope scope = new ManagementScope(@”\\192.168.36.22\root\cimv2″, options); scope.Connect(); ManagementOperationObserver Stop = new ManagementOperationObserver(); Stop.Completed += new CompletedEventHandler(Stop_CallBack); try { string NameServices = “ArcGIS Server”; WqlObjectQuery query = new WqlObjectQuery(“SELECT * FROM Win32_Service WHERE Name=\”” + NameServices + “\””); ManagementObjectSearcher find = new ManagementObjectSearcher(scope, query); […]

.NET服务到Linux守护进程

我正在使用.NET 3.5编写便携式服务/守护进程,我的Windows服务正在运行,但我想知道单声道端口…… 如果我理解正确,单声道服务就是我正在寻找的。 这究竟是如何工作的? 我假设我的服务中需要单声道兼容代码,对吗? 例如,我正在使用SQLite。 是否正确,为了使用单声道我应该重构我的代码使用单声道命名空间等,如Mono.Data.SQLite? 我还可以使用Settings.settings吗? 另外,我已经读过守护进程没有实现onStart / Stop方法,所以我需要更改我的代码才能在mono / linux下运行吗? 即在我的代码中使用这些方法是否可以,并且可以运行ServiceBase.Run()? Mono-service是否适应这些?

我什么时候应该在WCF服务中使用OperationContextScope?

我目前正在开发一个WCF服务,该服务可以通过其他服务在一些操作中提交信息。 第二个服务的代理是通过强类型的ProxyFactory类生成的。 我没有遇到任何问题,但听到我在拨打电话时应该执行以下操作: using (new OperationContextScope((IContextChannel)_service)) _service.Send(message); 所以我的问题是:什么时候创建这个新的OperationContextScope合适的,为什么? 谢谢!

Windows XP上的ServiceBase服务错误193:0xc1

我有一个使用C#ServiceBase类构建的服务。 它在Windows 7和Windows Server 2008中运行时有效; 但是,它在Windows XP上不起作用。 我使用sc create PBUService binpath= “C:\PBULogger.exe”创建了该服务。 这是正确的道路。 没有任何东西在事件查看器下登录任何东西,我的exception处理代码也不会触发。 我想也许我没有安装正确的.NET版本,但我在XP机器上安装了4.0。 但是,我使用Visual Studio Express 2012创建了这个项目,我非常确定默认使用.NET 4.5。 这会导致问题吗? 我正在使用的所有类都是4.0版。 我已经将我的所有代码都删除了基本方法,但这仍然无效。 这是我的代码: namespace PBULogger { class PBULoggerService : ServiceBase { protected override void OnStart(string[] args) { try { base.OnStart(args); } catch (Exception ex) { EmailUtility.sendEmail(“Service Error”, ex.Message + ex.StackTrace); } } protected override […]

Azure服务结构实例计数

我正在使用azure色服务面料进行POC。 在本地群集中部署我的服务,它在Local.xml中使用默认设置正常工作。 我更改实例计数的那一刻它正在抛出exception。 更改实例计数的选项在哪里? 基本上我现在尝试在两个节点上运行我的服务。 当默认值为1时,它工作正常。 InnerException:HResult = -2146233088 Message = Error -4091 EADDRINUSE地址已在使用中Source = Microsoft.AspNetCore.Server.Kestrel StatusCode = -4091 我的local.xml在这里复制 任何帮助真的很感激。 谢谢

从服务获取登录的用户名

我有一项服务,我必须登录到本地管理员进行安装。 当用户登录或注销以记录其用户名时,此服务的目的是记录。 我终于找到了一些我认为可以工作的WMI代码,但它仍然是返回管理员。 为什么这不起作用? var query = new ObjectQuery(“SELECT * FROM Win32_Process WHERE Name = ‘explorer.exe'”); var explorerProcesses = new ManagementObjectSearcher(query).Get(); foreach (ManagementObject mo in explorerProcesses) { string[] ownerInfo = new string[2]; mo.InvokeMethod(“GetOwner”, (object[])ownerInfo); userName = String.Concat(ownerInfo[1], @”\”, ownerInfo[0]); } Console.WriteLine(userName); Console.ReadLine(); 为了澄清我的问题,我想要获得当前登录的用户,但它给了我Adminstrator我用来安装服务的帐户。

将ac#命令行应用程序转换为Windows服务

我找到了很多部分答案,但没有什么真的足够。 案例:App是一个工作的命令行应用程序,没有用户交互,除了能够在输入停止时接收按键,这已经以一种方式写入,即使不运行时也禁用环境.UserInteractive ==真正。 我正在使用Visual Studio 2010。 问题是我需要将此应用程序转换为Windows服务。 是“只是”将新的类文件作为服务,并让它在现有应用程序上调用我的启动和停止方法? 如何安装程序(VS’默认的msi安装程序),现有的安装程序项目是否可以“升级”以处理服务安装? 我之前搞砸了这个,最后得到了一个拒绝安装的安装程序,因为它一直检测到服务已经安装,停止安装过程然后立即回滚所有内容。 它检测到的服务是刚安装的服务。

部署webAPI服务器端所需的最小文件

因此,经过大量的研究,我开始使用webAPI入口点来增强我们的服务服务器堆栈。 基于这个主题 ,特别是Digerati董事会成员的最后一篇文章,我们将webAPI服务作为WCF应用层的外观实现。 (我们的WCF服务只是我们的应用程序层的外观,其中所有行为都存在) 我的问题是这个。 我下载了MVC 4并在我的服务解决方案中创建了一个新的WebAPI项目。 但哇,在我的项目中创造了大量废话,我根本不需要! 例如,所有图像文件,家庭控制器,视图和模型等。 因此,在将其拆解为服务项目时,构建function服务项目所需的最小文件是什么? 我们的目的是在同一服务器中并排发布两种服务类型(WCF和webAPI)。每个服务调用执行相同的相同服务调用并返回请求的特定DTO。 到目前为止,它看起来像App_Start,Controllers和Glabal.asax / web.config条目。 我绝对不需要视图,模型或图像! 关于其他人为完成纯服务部署所做的工作的任何意见都将受到欢迎。

您将如何在WCF数据服务中实现API密钥?

有没有办法要求URL中的API密钥/或其他一些传递服务私钥的方式来授予对数据的访问权限? 我现在有这个…… using System; using System.Data.Services; using System.Data.Services.Common; using System.Collections.Generic; using System.Linq; using System.ServiceModel.Web; using Numina.Framework; using System.Web; using System.Configuration; [System.ServiceModel.ServiceBehavior(IncludeExceptionDetailInFaults = true)] public class odata : DataService { public static void InitializeService(DataServiceConfiguration config) { config.SetEntitySetAccessRule(“*”, EntitySetRights.AllRead); //config.SetServiceOperationAccessRule(“*”, ServiceOperationRights.All); config.DataServiceBehavior.MaxProtocolVersion = DataServiceProtocolVersion.V2; } protected override void OnStartProcessingRequest(ProcessRequestArgs args) { HttpRequest Request = HttpContext.Current.Request; if(Request[“apikey”] != […]