WCF HOST多個服務遇到的問題

昨天有時間上網找了下多服務寄宿在一個HOST的問題,看到了蔣金楠老師的一篇文章,於是下載源代碼來分析一下實現過程,VS2010順利通過程序也執行了,但是訪問發佈的地址打開爲HTTP400錯誤,我看到留言中有說到這個的問題,後來修改了一下配置,可以訪問發佈的地址,但是讓我比較難理解的是<endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange",如果我配置上IMetadataExchange 程序在運行的時候就出錯了,這個是標準的WCF的元數據發佈接口啊,爲何不行呢,這個問題如何有知道的請告訴一下,因爲我另外建其它的WCF應用程序添加上是沒有問題的。下面我把原來的配置列出來

<service name="Artech.BatchingHosting.BarService">
        <endpoint address="http://127.0.0.1:3721/barservice"
                  binding="ws2007HttpBinding"
                  contract="Artech.BatchingHosting.IBar"/>

        <endpoint address="http://127.0.0.1:3721/barservice"
                  binding="ws2007HttpBinding"

                  contract="Artech.BatchingHosting.IBar"/>


<artech.batchingHosting>
    <add type="Artech.BatchingHosting.FooService, Artech.BatchingHosting"/>
    <add type="Artech.BatchingHosting.BarService, Artech.BatchingHosting"/>
    <add type="Artech.BatchingHosting.BazService, Artech.BatchingHosting"/>
  </artech.batchingHosting>

程序報錯的信息是實現的協定列表中找不到協定名稱 \"IMetadataExchange\"。將 ServiceMetadataBehavior 添加到配置文件或直接添加到 ServiceHost,以啓用對該協定的支持

等了兩天,蔣金楠老師回覆了,答案是WCF元數據發佈有兩種方式,而我用的是第二種所以不好用,改成第一種就OK了


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章