0
我已經設置了一個wcf服務,當我瀏覽到.svc文件時,我將看到一個屏幕...爲什麼我必須在我的WCF配置中指定我的地址(它實際上是工作的)
您已經創建了一項服務。
所以我知道服務運行成功。不過,我查看了配置,它實際上並沒有地址。
<system.serviceModel>
<services>
<service behaviorConfiguration="CountryProvinceBehavior" name="CountryProvinceWCFService">
<endpoint address="" binding="webHttpBinding" contract="ICountryProvinceWCFService" behaviorConfiguration="CountryProvinceBehavior"/>
</service>
</services>
<behaviors>
<serviceBehaviors>
<behavior name="CountryProvinceBehavior">
<serviceMetadata httpGetEnabled="true"/>
<serviceDebug includeExceptionDetailInFaults="true"/>
</behavior>
</serviceBehaviors>
<endpointBehaviors>
<behavior name="CountryProvinceBehavior">
<webHttp/>
</behavior>
</endpointBehaviors>
</behaviors>
</system.serviceModel>
然後我寫了一個控制檯應用程序來測試服務。
我從瀏覽器中獲取了thr url,並從控制檯應用程序中添加了一個'Service Reference'我期待該項目在我的配置文件中創建enpoint定義。然後,當我創建一個客戶端,我可以加載這些CONFIGS之一,但它們不存在....
是的,但爲什麼不會Visual Studio創建客戶端的設置配置,當我添加引用? – Exitos 2011-06-09 14:31:10
您的服務使用webHttpBinding/webHttpBehavior - 這是對REST(即非SOAP)服務的綁定。與SOAP端點不同,REST沒有公開任何元數據,因此「添加服務引用」嚮導無法正確創建客戶端配置(有時它甚至會創建一些東西,但在絕大多數情況下,它創建的客戶端不能直接用於消費服務)。 – carlosfigueira 2011-06-09 16:06:17
爲什麼沒有爲WCF服務公開元數據?當然,我們應該能夠從一個C#客戶端應用程序調用它們?或者我們只是手動創建POST請求並解析文檔已返回? – Exitos 2011-06-14 12:10:33