2014-03-26 148 views
0

我創建了一個基本公開一些方法來更新sql server數據庫的服務。無法啓動作爲Windows服務安裝的WCF服務

我測試的服務作爲一個正常的WCF服務(而不是Windows服務),它工作得很好(這告訴我,在App.config中的ServiceModel定義是確定)

然後,我把它變成一個Windows服務,我使用InstallUtil安裝它,並且它安裝正常。 但是,試圖啓動它在服務控制檯時,我得到這個消息「本地計算機上的服務WCFProductsWindowsService服務啓動後又停止了,一些服務自動停止,如果他們不使用其他服務或程序

暴露該服務由兩個項目所述的溶液,

  1. 一個類庫定義服務,合同,和一個ADO NET實體數據模型到數據庫,
  2. 和一個控制檯應用程序那e xposes服務

enter image description here

暴露出的貢獻莫過於是類:

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

不允許我添加評論。 此錯誤「本地計算機上的服務WCFProductsWindowsService服務已啓動,然後停止。如果某些服務未被其他服務或程序使用,則會自動停止」表示引發異常。

我會檢查事件查看器以查看記錄的異常。

請問ProductsServiceImpl是否存在?我無法在您的圖片或解決方案中找到它。

+0

我看到了事件日誌,它說有一個配置錯誤。的確,ConnectionString部分是錯誤的 – Rafael