Window Service无法访问外部方法

时间:2014-06-12 17:33:45

标签: c# .net service

我在这里有点新鲜。我正在尝试从microsoft教程学习窗口服务:     http://msdn.microsoft.com/en-us/library/zt39148a(v=vs.110).aspx

我安装并运行它完美..事件日志工作正常...现在我正在尝试访问另一个c#项目中的一个函数(名为ASMSFetch),它引用了服务项目......

这是Service .cs文件代码

 public partial class MyNewService : ServiceBase
    {
        public MyNewService()
        {
            InitializeComponent();

        }

        protected override void OnStart(string[] args)
        {

            ASMSFetch.Program.UpdateSMS();
        }


    }

和ASMSFetch Project Program.cs

 public class Program
    {
        static void Main(string[] args)
        {

            UpdateSMS();

        }



        public static void UpdateSMS()
        {

            Console.WriteLine("UpdateSMS started");
            Console.ReadLine();

        }

但是" UpdateSMS开始了#34;当我从计算机管理安装并运行服务时,不显示messege - >服务部门..

我试图搜索它。但是找不到合理的。 任何建议都会有所帮助......

1 个答案:

答案 0 :(得分:0)

看这里...... http://msdn.microsoft.com/en-us/library/76477d2t(v=vs.110).aspx

在第4项下 - 您需要致电您的服务。如果以上是您的所有代码,那么您就错过了这一点,并且实际上没有任何内容正在启动该服务。当操作系统启动您的服务时,它所做的只是调用Main()方法,就像任何其他EXE一样。

您需要添加如下所示的行:

 System.ServiceProcess.ServiceBase.Run(new MyNewService());