2017-02-28 84 views
1

試圖在通過http://www.example.com/WS/myExchange.svc打開WCF WebService的我不斷收到一個錯誤:WCF - 具有相同鍵的項已被添加

System.ArgumentException 具有相同鍵的項已被添加。

System.ArgumentException:具有相同密鑰的項目已添加 。在System.Runtime.AsyncResult.End [TAsyncResult]在 (IAsyncResult的 結果)在 System.ServiceModel.Activation.HostedHttpRequestAsyncResult.End(IAsyncResult的 結果)在 System.ServiceModel.Activation.ServiceHttpModule.EndProcessRequest(IAsyncResult的 AR) System.Web.HttpApplication.AsyncEventExecutionStep.OnAsyncEventCompletion(IAsyncResult的 AR)

當我打開本地主機上相同的WS,一切正常。

我甚至不知道從哪裏開始尋找問題的根源。

是在IIS配置,已安裝的模塊,項目代碼中的問題?

如何找出具有相同密鑰的項目已被添加?即使它在Web.Config中?在代碼中?在數據庫中?在包含的模塊中?

問題只出現在「/WS/myExchange.svc」,網站的其他部分正常工作。

高級設置: enter image description here

網站綁定: enter image description here

+0

爲什麼downwote? Thx解釋... – Tadej

+0

對不起,無法從圖像讀取綁定,你可以發表文字,謝謝? – 2017-02-28 17:37:37

回答

0

問題解決了。

在Web.Config中,部分system.serviceModel我不得不添加:

<serviceHostingEnvironment multipleSiteBindingsEnabled="true"/> 
2

一個可能的原因是

  1. 你的IIS Web應用程序的高級設置顯示 「HTTP,HTTPS」 中的 「啓用的協議」。
  2. 「默認網站」的「網站綁定」沒有https綁定類型。

https://stackoverflow.com/a/19440427/6996876

+0

(我用printscreens更新了問題)不幸的是,您的建議似乎都不是原因:/ – Tadej

0

檢查:

  1. Web.Config中的元素也可以是可能重複。
  2. 檢查IIS中是否是32位或64位應用程序。
  3. 應用程序池框架。
+0

Web.Config中沒有重複項(因爲本地和生產主機都使用相同的Web.Configs,本地的)。在IIS中的應用程序嚴格爲64位,在本地是相同的。應用程序池框架是什麼意思? – Tadej