2012-09-24 111 views
1

我有:參考與服務參考項目:未知端點

  1. WCF服務[應用1]
  2. 邏輯與此服務[PROJECT1應用2]
  3. 網頁使用該邏輯[Project2的應用2連通]

邏輯項目我添加服務引用服務。 在WebPage我添加了項目引用邏輯

現在端點服務被definied在邏輯項目,所以我無法從好康連接到服務

我知道,我的解決辦法是邏輯 config來好康配置的複製部分,但我不認爲這是一個很好的解決方案。

我想邏輯作爲一個黑匣子。我不知道如果我不會改變它到另一個服務,也許有什麼不同,所以我不想WebPage「知道」邏輯如何工作。

有沒有更好的解決方案? 我可以做的事情邏輯項目,這將使網頁知道如何連接到服務

我得到異常: Could not find default endpoint element that references contract

回答

1

另一種選擇是通過將端點的代碼,而不是配置文件來配置邏輯。在創建Web服務客戶端時,請使用this overload,它將Binding和EndpointAddress作爲參數。在您的Logic類的代碼中,只需在代碼中提供這些參數,而不是讓它從配置文件中自動讀取它們。

+0

對我來說更好,但我寧願有配置。我想(如果可能的話)改變端點而不重新編譯 – Ari

+0

我不確定我在跟着...如果你想把它放在配置文件中,爲什麼不把它放在WebApp.config文件中?您也可以將其保留在Logic的配置文件中。然後當你想創建你的客戶端時,只需手動讀取邏輯配置文件,並提取你需要的端點和綁定數據,以便將它們傳遞給客戶端構造器。 –

+0

你可能是對的。 – Ari