2010-10-11 85 views
0

在调试运行mode..or从命令提示符下运行它时,写在C#中的窗口服务,实际上与MS Word交互工作正常..服务写在安装它

后的C#不工作,但它不工作作为服务安装之后。运行该服务的帐户是管理员(本地)。

Server 2008 R2的使用... 2003年

+1

你能发表一些代码片段吗? – 2010-10-11 18:59:07

+0

Windows日志说什么? – 2010-10-11 19:01:08

+0

您是否使用互操作程序集与Office进行交互? – Sorax 2010-10-11 19:01:51

回答

3

,最好的办法理解从未有过的一个问题:“为什么我的服务没有运行?”在使用

  try 
      { 

      } 
      catch (Exception ex) 
      { 
       EventLog.WriteEntry(ex.Message + ex.StackTrace); 
      } 

在开始main方法,等事件。

0

是否服务帐户有"Log on as a service"权利?

+0

yes..it确实...我在哪里设置Admin(本地)帐户来运行服务 – Mike 2010-10-11 19:10:48

0

异常已被调用的目标抛出。在System.RuntimeType.InvokeDispMethod(字符串名称,的BindingFlags invokeAttr,对象目标,对象[]指定参数时,布尔[] byrefModifiers,培养的Int32,字符串[] namedParameters) 在System.RuntimeType.InvokeMember(字符串名称,的BindingFlags的BindingFlags,粘结剂粘结剂,Object对象,Object [] providedArgs,ParameterModifier []修饰符,CultureInfo culture,String [] namedParams) at System.Type.InvokeMember(String name,BindingFlags invokeAttr,Binder binder,Object target,Object [] args)

1

在Windows Server 2008 R2上,您在.NET Framework中构建的需要访问文件系统才能运行的服务需要具有适当的权限才能运行。就我而言,我需要安装服务,打开服务窗口,停止服务,右键单击并编辑服务的属性以在运行时使用管理员帐户。一旦我这样做,服务就开始按预期工作。

现在,这可能不是做所有的时间最好的东西,所以你可能会想拥有的执行服务需要的权限最少的系统上定义一个定制的账户。