我一直在尋找整天,在這裏和其他地方,所以請原諒任何冗餘,但是,我正在嘗試做我收集的東西應該是簡單的,並且推薦的方法是構建一個WCF服務。從其他項目引用ServiceContract
該場景是一個服務,服務於多個ServiceContracts,每個服務都在它自己的項目中。
我開始簡單;在我的解決方案中,我有一個WCF ServiceLibrary和一個類庫,並且只是一個默認配置文件。
我在解決方案中有另一個項目叫做WCF_Sandbox.Greeting
。程序集名稱是WCF_Sandbox.Greeting.dll
該項目是一個IGreeting類(裝飾爲ServiceContract)和一個實現類Greeting。
我真的掙扎得到的IGreeting
的SayHello()
方法通過WCF_Sandbox
服務公開。
我不斷收到要麼
錯誤或錯誤「此服務未通過實現的服務......列出」那
沒有元數據可用。
如果任何人可以建議如何從這個其他項目的服務出現在WCF_Sandbox服務,我將不勝感激。看來,這是很多人面臨的基本問題,我從來沒有看到它在任何地方以直接的方式回答。非常感謝!
app.config file. System.Configuration does not support config files for libraries. -->
<system.serviceModel>
<services>
<service name="WCF_Sandbox.Service1">
<host>
<baseAddresses>
<add baseAddress = "http://localhost:8733/Design_Time_Addresses/WCF_Sandbox/Service1/" />
</baseAddresses>
</host>
<endpoint address="" binding="basicHttpBinding" contract="WCF_Sandbox.IService1">
<identity>
<dns value="localhost"/>
</identity>
</endpoint>
<endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange"/>
</service>
</services>
<behaviors>
<serviceBehaviors>
<behavior>
<serviceMetadata httpGetEnabled="True" httpsGetEnabled="True"/>
<serviceDebug includeExceptionDetailInFaults="False" />
</behavior>
</serviceBehaviors>
</behaviors>
</system.serviceModel>
</configuration>
想到兩件事。首先,你是否參考了這些項目?其次,您是否將服務模型配置(發佈在您的問題中)放在託管服務的應用程序中?根據發佈配置頂部的註釋,您試圖直接使用配置庫。另外,你可否發佈你的項目結構?這可能會幫助我們幫助你。 – Tim 2013-04-11 01:20:27
@Tim:引用其他項目。將配置放在託管服務的應用程序中?還沒。我的解決方案有一個WCF服務庫項目和一個類庫。我想在類庫中定義servicecontract&Implement類,並且由WCF服務提供服務。 WCF測試客戶端不會顯示類庫中的服務,並且出現元數據無法發現的錯誤,或者出現錯誤消息,指出該項服務不在項目實施的列表中。我沒有在代碼中包含端點,這是我希望可以給我的。 – monkeydeus 2013-04-11 17:28:28