我有一個WCF服務,並將其託管在Windows服務中。將WCF服務公開爲.NET 2.0目標客戶端的Web服務時,真的需要basicHttpBinding嗎?
我試圖從建立在.NET 2.0上的Windows窗體客戶端添加對該服務的引用。我可以通過指向httpGetUrl =「http:// localhost:8002/HBAccess/help/mex」來獲取Web引用,但是當我檢查Reference.cs時---它只包含一個沒有任何內容的命名空間。
現在我添加了basicHttpBinding的和重複相同的步驟:
現在我可以看到Web服務的類。
我的高級同事堅持認爲將httpGetEnabled設置爲true將足以通過http導出WCF服務並創建適當的Web引用。
任何人都可以指向我在這裏失蹤的東西嗎?
<system.serviceModel>
<services>
<service behaviorConfiguration="HBAcsNX.HBAccessBehavior" name="HBAcsNX.HBAccess">
<!--<endpoint address="" binding="basicHttpBinding" contract="HBAcsNX.HBAccess" />-->
<endpoint address="HBAccess" binding="netTcpBinding" contract="HBAcsNX.HBAccess" />
<endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />
<host>
<baseAddresses>
<add baseAddress="net.tcp://localhost:18264/HBAccess/" />
<add baseAddress="http://localhost:8002/HBAccess/" />
</baseAddresses>
</host>
</service>
</services>
<behaviors>
<serviceBehaviors>
<behavior name="HBAcsNX.HBAccessBehavior">
<serviceDebug includeExceptionDetailInFaults="True" httpHelpPageUrl="http://localhost:8002/HBAccess/help" />
<serviceMetadata httpGetEnabled="true" httpGetUrl="http://localhost:8002/HBAccess/help/mex" />
</behavior>
</serviceBehaviors>
</behaviors>
</system.serviceModel>
//得到的Reference.cs(空代理存根,只有命名空間)
#pragma warning disable 1591
namespace Form.ServiceClient {
}
#pragma warning restore 1591
我只是想你建議和網絡服務仍然無法在HTTP上找到://本地主機:8002/HBAccess/mex URI – Nap 2009-07-01 11:03:50