2012-12-13 71 views
0

我對WCF服務的引用有疑問。我有兩個應用:WCF服務配置信息是否在客戶端?

控制檯應用程序
--library
---- WCF服務

控制檯應用程序和庫在同一個解決方案。由於庫中的WCF服務,其app.config具有WCF服務的信息。

控制檯應用程序配置沒有任何關於WCF服務。控制檯應用程序通過庫間接調用WCF服務。我猜這就是爲什麼控制檯應用程序在其配置中沒有WCF信息(因爲它對Web服務一無所知)。控制檯應用程序會調用庫中的靜態方法,該庫處理WCF調用。

我收到上述調用此錯誤:

找不到,在ServiceModel客戶端配置單元參考合同「MyServiceReference.IMyService」默認終結點元素。這可能是因爲沒有爲您的應用程序找到配置文件,或者因爲在客戶端元素中找不到與此合同匹配的端點元素

主機(控制檯應用程序)是否需要來自庫的WCF服務相關信息?如果是這樣,爲什麼沒有VS2010添加它。

回答

0

您創建的庫(「--Library」,在您的層次結構中)可能會向您的WCF服務添加服務引用。 (「在圖書館裏」沒有意義,所以我認爲這就是你的意思)。這意味着有關WCF服務的一堆信息已添加到的app.config中。該信息需要位於引用庫的任何exe的app.config中,以便庫正確訪問它引用的WCF服務。

0

我建議運行SVCUtil.exe。您可以對正在運行的服務像這樣運行:

svcutil.exe http://localhost:Port/YourSvcClass/YourSvcMethod /language:c# 

什麼,將要做的就是建立一個客戶端的C#(或VB)在c#stub類,再加上.CONFIG具有確切客戶端配置文件文件你需要連接...所有的好東西。您也可以SvcUtil工具對你的WCF DLL這樣運行了:

svcutil.exe c:\yourfolder\YourService.dll /language:c# 

無論您使用的stub類與否,config文件將在設置客戶端幫助。

祝你好運

相關問題