在我的VS解決方案中,我創建了一個控制檯項目,我將其用作客戶端,併爲WCF服務創建一個空項目。WCF - 應用程序使用客戶端的app.config而不是WCF服務的app.config
然後我創建了WCF服務(創建了我的合同和服務類型並手動構建了app.config),並在客戶端項目中添加了對WCF服務項目的引用。
但是,當我在客戶端中調用ServiceHost.Open()時,端點未加載。我最終確定我需要將所有配置信息放在客戶端的app.config中,而不是服務的app.config中。
我不確定這是否正常,或者我做錯了什麼。在過去,當我使用WCF項目模板時,情況並非如此。
該配置取自HOST PROCESS的配置文件,即如果您在ASP.NET站點中承載WCF服務,則該配置來自web.config。這是很多人感到困惑的地方:如果你有一個class-lib程序集,它有一些配置,它不會是.NET配置文件的源。因此,請在您的Web應用程序(如果您使用ASP託管)和控制檯客戶端的app.config中查找服務器配置。 你爲什麼要在客戶端上調用Host.Open()? –
謝謝。我沒有意識到這一點。我正在通過「Windows Communication Foundation Unleashed」工作,但我還沒有生成元數據,所以我只是使用ServiceHost來確認一切正常加載。我想先解決這個問題。 –