簡體   English   中英

發現的WCF服務無法連接

[英]Discovered WCF service can't connect

我有一個WCF服務,我用它來公開數據源(通過EF模型連接)。 我的端點由於某種原因剛剛停止響應。

直到我上次的更改,我只是在啟動應用程序時提取數據。 我現在正在努力在此基礎上添加訂閱/發布模型,這樣當我遇到導致數據發生變化的WCF服務時,我可以拋出事件(可以在客戶端進行,但我不會抓住其他用戶)變化)。

我一直在關注微軟的例子: http//msdn.microsoft.com/en-us/library/ms752254.aspx並將相應的裝飾添加到我的服務接口和實現中,並添加了訂閱/取消訂閱OperationContract等。而不是嘗試啟動服務,無法連接。

我從我的客戶端刪除了服務參考,並嘗試重新附加。 這是奇怪的事情:

1)WCF服務在開發人員主機中構建和旋轉。 2)未觸及Web.Config文件。 3)vs 2012中添加服務引用中的“發現服務”選項可以看到該服務,但是當我嘗試實際接受發現的服務時,它會拋出一條錯誤,說“從地址下載元數據時出錯”。

我不知道它如何發現服務,然后無法將其添加為參考。 我可以看看我是否自己添加了信息,但它找到了它。

作為添加發布功能的一部分,我將SessionMode.Required標記添加到接口我不確定WCF如何處理會話,並且從未在我的編碼中的任何其他地方處理會話(通常從源中提取數據)並且比在本地處理它一直是我過去需要做的工具類型,所以沒有狀態需要持久化服務器端)。

有任何想法嗎?

我的服務web.config:


 <connectionStrings> <add name="TaskModelContainer" connectionString="metadata=res://*/TaskModel.csdl|res://*/TaskModel.ssdl|res://*/TaskModel.msl;provider=System.Data.SqlClient;provider 

connection string =“data source = winhacker \\ sqlexpress; initial catalog = TaskDB; integrated security = True; MultipleActiveResultSets = True; App = EntityFramework”“providerName =”System.Data.EntityClient“/>

注意:請注意確保格式化的大部分文件沒有顯示在預覽中,但是它足以說它是一個自動生成的樣板,而不是我添加了一個connectionStrings部分來喜歡我的EF數據點。 如果你想看到文件點擊“編輯”似乎顯示我復制的源雖然有點格式化奇怪。

在我遇到此錯誤的絕大多數情況下,問題一直是服務器端的序列化問題; WCF將在元數據發現階段拋出異常,但VS不會顯示此異常。

為了解決此問題,您需要在web.config添加一個診斷部分,以將WCF信息捕獲到svclog文件中,然后使用Microsoft的服務跟蹤查看器檢查日志並發現引發的實際異常。

web.config部分應如下所示:

  <system.diagnostics>
    <sources>
      <source name="System.ServiceModel"
              switchValue="Information, ActivityTracing"
              propagateActivity="true">
        <listeners>
          <add name="traceListener"
              type="System.Diagnostics.XmlWriterTraceListener"
              initializeData="c:\log\WebTrace.svclog"  />
        </listeners>
      </source>
    </sources>
  </system.diagnostics>

並在<configuration>級別添加。

添加配置並確保指定的目錄存在后,請嘗試再次添加服務引用。 這應該導致生成指定的svclog文件。

如果在該計算機上安裝了VS,則應該只需在Windows資源管理器中雙擊該文件,並在該工具中自動打開日志。

打開日志后,在左側窗格中查看活動列表,然后單擊第一個紅色。 然后,在右上方窗格中,選擇第一個為紅色(或顯示異常,我忘記了哪個)。 然后,您可以單擊該按鈕以查看詳細信息,包括右下方窗格中的異常信息。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM