无法启动作为Windows服务安装的WCF服务

时间:2014-03-26 17:56:09

标签: web-services wcf

我创建了一个服务,它基本上公开了一些更新sql server数据库的方法。

我将服务测试为普通的WCF服务(不是Windows服务)并且运行正常(这告诉我App.config中的ServiceModel定义没问题)

然后我把它变成了Windows服务,我使用InstallUtil安装它,它安装得很好。 但是当在服务控制台中尝试启动时,我收到此消息“本地计算机上的服务WCFProductsWindowsService服务已启动然后停止。如果某些服务未被其他服务使用,则会自动停止服务或计划

公开服务的解决方案由两个项目组成,

  1. 定义服务,合同和ADO的类库 NET实体数据模型到数据库,
  2. 以及公开服务的控制台应用程序
  3. enter image description here

    暴露serice的类是:

    public class ProductsWindowsService : ServiceBase {
        public ServiceHost serviceHost = null;
        public ProductsWindowsService() {
            ServiceName = "WCFProductsWindowsService";
        }
    
        public static void Main() {
            ServiceBase.Run(new ProductsWindowsService());
        }
    
        protected override void OnStart(string[] args) {
            if (serviceHost != null) {
                serviceHost.Close();
            }
            serviceHost = new ServiceHost(typeof(ProductsServiceImpl));
            serviceHost.Open();
        }
    
        protected override void OnStop() {
            if (serviceHost != null) {
                serviceHost.Close();
                serviceHost = null;
            }
        }
    }
    

    我在SkyDrive

    上传了这个简单的项目

    我可能做错了什么?

1 个答案:

答案 0 :(得分:1)

不允许我添加评论。 此错误“本地计算机上的服务WCFProductsWindowsService服务已启动然后停止。如果某些服务未被其他服务或程序使用,则会自动停止”表示引发了异常。

我会检查事件查看器以查看记录的异常。

ProductsServiceImpl是否存在?我无法在您的图片或解决方案中找到它。