WCF學習筆記(二):保留未命名的behavior節點


添加命名的behavior節點時,還需要保留一個未命名的或者默認的behavior節,否則會出現“。。。元數據包含無法解析的引用。。。”的錯誤。

昨天聽完徐長龍老師關於WCF的Webcast以后,照着做了個demo,結果連WCF Test Client出錯如下:

HTML 文檔不包含 Web 服務發現信息。
元數據包含無法解析的引用:“http://localhost:59477/WCF-Service/Service.svc”。
服務 http://localhost:59477/WCF-Service/Service.svc 不支持內容類型 application/soap+xml; charset=utf-8。客戶端和服務綁定可能不匹配。
遠程服務器返回錯誤: (415) Unsupported Media Type。
如果該服務已在當前解決方案中定義,請嘗試生成該解決方案,然后再次添加服務引用。

調查分析之后,我得出如下兩點:

  1、仔細對比徐老師的配置和我的配置,沒有發現任何區別;

  2、新建一個WCF Service Application沒有問題,可以正常運行;

搜索谷歌的時候,有人提到service的屬性中如果添加了behaviorConfiguration以后出錯,而默認新建的項目沒有設置這個屬性。我試着從service節點中刪除behaviorConfiguration屬性,並且去掉behavior的命名之后,程序能正常運行:)由此,我很確定是這一塊的問題。如果這就最終的答案——不用命名的behavior,那太令人失望了。

繼續搜索,讓我發現了博客園中的一篇文章“Silverlight調用WCF服務,在添加WCF服務引用時,報錯如下:”,其中提到添加一個未命名的behavior節點。事實證明,這個方法很好的解決了我的問題。換句話說就是,在配置命名behavior節點的時候,必須保留原來未命名的behavior節點。這是一個“添加”命名節點的過程,不是修改未命名節點的過程。


免責聲明!

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



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