WCF調用--添加服務引用時找不到服務的解決辦法


今天在工作中遇到這樣一個問題,讓我頭疼了半天,最后頭疼不能讓人屈服,問題還是被我征服了.先展示一下錯誤,看看你們有木有遇到過:

造成這種結果的原因有這么幾個:

  1. 服務地址不正確;

  2. 服務沒有運行;

  3.netTcpBinding和endpoint節點未設置,這是在存在app.config的情況下才有可能的;

一一排除吧,前兩個都沒有問題,然后就開始baidu,google"元數據包含無法解析的引用","讀取XML數據時,超出最大名稱表字符計數配額(16384)",這樣查沒有結果啊,網上的千篇一律,說改什么配置文件,問題是我現在都沒有加上引用呢,何來的配置文件.后來才想到下邊的那句話"MaxNameTableCharCount屬性,可增加配額",那就開始找這句話.這句話還是很有用,找了一會終於有答案了.

  這篇文章  里稍微有了思路,大膽改掉了VS 2010 的配置文件.

  在配置文件的最下方加入了幾行代碼

  

  <system.serviceModel>
    <client>
      <endpoint name="net.tcp" binding="netTcpBinding" bindingConfiguration="bc" contract="IMetadataExchange" />
    </client>
    <bindings>
      <netTcpBinding>
        <binding name="bc" maxReceivedMessageSize="2147483647">
          <readerQuotas maxNameTableCharCount="2147483647" />
          <security mode="None"/>
        </binding>
      </netTcpBinding>
    </bindings>
  </system.serviceModel>

  最耀眼的那一行便是核心,這段代碼要框在<configuration></configuration> 內部,這樣就OK 了,重啟一下VS ,繼續從前的操作,添加服務引用成功.

  之后就可以Happy的進行下邊的服務調用嘍!

  方法比較局限,或許有更好的辦法,希望園友們不吝賜教.

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM