none
如何在windows service 加入WCF參考 RRS feed

  • 問題

  • 請教各位前輩們,目前我使用VS2012 Express 版本 建立CopperService服務,作業系統是windows 7 64 bit,啟動服務也正常無誤,之後又建立WCF (for Web)專案,也正常在IIS7下面運作成功,然而當CopperService加入WCF服務參考都會失敗,使用服務參考方式如下:

     

    1. 選擇右鍵 / 加入服務參考 / 輸入WCF網址/ 確定

     

    啟動服務後:

    資料表上傳失敗在 ServiceModel 用戶端組態區段中找不到參照合約 'IService' 的預設端點項目。可能是因為找不到應用程式的組態檔,或是用戶端項目中找不到符合此合約的端點項目

     

    1. “C:\Program Files (x86)\Microsoft SDKs\Windows\v8.0A\bin\NETFX 4.0 Tools\SvcUtil.exe” /language:cs  /out: generatedProxy.cs   /config:app.config

    http://192.168.1.63/wcfSQL/service.svc

     

    輸入完指令後自動產生兩個檔案

    (1)   generateProxy.cs

    (2)   app.config

       

    然後,再將兩個檔案加入CopperService 服務專案中後,啟動服務仍然會出現以上同樣訊息

      

    資料表上傳失敗在 ServiceModel 用戶端組態區段中找不到參照合約 'IService' 的預設端點項目。可能是因為找不到應用程式的組態檔,或是用戶端項目中找不到符合此合約的端點項目

     


     

     

    3:  以下是app.config 自動產生的內容

     

      <system.serviceModel>

        <bindings>

          <basicHttpBinding>

            <binding name="BasicHttpBinding_IService" />

          </basicHttpBinding>

        </bindings>

        <client>

          <endpoint address="http://192.168.1.63/wcfSQL/Service.svc" binding="basicHttpBinding"

              bindingConfiguration="BasicHttpBinding_IService" contract="IService"

              name="BasicHttpBinding_IService" />

        </client>

      </system.serviceModel>

     

     

    目前使用UnitTestProject測試WCF服務參考,是可以正常運作的,但只運作在Window Service 卻失敗,不知道是我哪裡設定有誤,或者Express本身有些限制?  請教各位前輩們指點迷津。

     

     

     

    2013年11月5日 上午 02:37

解答

  • 非常感謝各位前輩們的熱心幫忙,目前已解決了

    我只有把執行服務的CooperService.exe放入服務目錄中, 並沒有將CooperService.exe.config 一同放置服務目錄中,所以導致服務啟動後找不到契約內容,所以當我把設定檔放入目錄後,就正常執行WCF服務了。

    • 已標示為解答 joycehong 2013年11月7日 上午 03:15
    2013年11月7日 上午 03:15

所有回覆