2015-03-31 25 views
0

我經常看到人們設計自己的Web服務既httpGetEnabled和MEX終結,但我不知道像想明白httpGetEnabled和MEX終結

1)爲什麼MEX終結點是需要?它能做什麼 ?如果我們省略了mex端點,那麼會發生什麼?如果我省略了mex端點,那麼任何.net應用程序或java應用程序都可以調用我的Web服務?幫助我真正使用mex端點,比如什麼時候需要,什麼時候不需要?

2)什麼是httpGetEnabled

如果我忽略httpGetEnabled那麼任何.NET應用程序或Java應用程序可以調用我的web服務?

如果httpGetEnabled設置爲false,任何.net客戶端都可以添加我的Web服務的Web引用不存在? httpGetEnabled的默認值是什麼?

httpGetEnabled是做什麼的?請使用示例或場景說明httpGetEnabled的用法。

感謝

+0

請參閱http://blogs.microsoft.co.il/idof/2011/08/10/wsdl-vs-mex-knockout-or-tie/ – Gene 2015-03-31 12:03:34

回答

0

MEX and WSDL是兩個不同的方案來告訴潛在客戶介紹您的服務結構。因此,您可以選擇將服務合約公開爲「元數據交換格式」(MEX)或「Web服務描述語言」(WSDL) - 後者可通過HTTP訪問。

因此,爲了生成代理,您需要元數據信息。當你刪除serviceMetadata行時,你說你沒有提供WSDL格式的元數據。

但是,之前在MEX中發佈元數據的行仍處於活動狀態,因此您可以根據這些元數據生成代理。

從那些自然而然的是,當你既不提供WSDL也不提供MEX格式的信息,你不能生成代理。

+0

ru試圖說如果人們刪除mex端點,則客戶端將不會能夠創建代理? httpgetenable不允許客戶端生成代理? – Thomas 2015-03-31 17:19:12