1
這些可能會出現一些愚蠢的問題,但我還是想web服務(或WCF)元數據的問題,讓這些東西清除:關於
- 什麼是Web服務元數據包括,爲什麼是必要的元數據?
- 它是否包含其他/不同於Web服務公開的操作的東西?
- 我們在創建Web服務時如何定義/提及Web服務的元數據
- WSDL生成的Web服務是否包含Web服務元數據?
- 如果有一個選項可以隱藏客戶端的元數據,那麼這是否意味着它不是強制性的東西?
這些可能會出現一些愚蠢的問題,但我還是想web服務(或WCF)元數據的問題,讓這些東西清除:關於
Web服務元數據描述服務,例如,它允許其他機器(或用戶),找出
是的,元數據是可選的 - 如果你「隱藏」它或不公開它,那麼第三方不能「發現」並使用你的服務 - 你必須提供一些讓他們使用你的服務的其他方式(你可以發送他們打印的文檔,你可以通過電子郵件或其他方式將生成的WSDL/XSD作爲文件附件發送)。在WCF中,你可以很容易地控制公開的元數據類型(如果有的話) - 你可以全部啓用/禁用服務元數據,你可以定義客戶端只能使用本地WCF元數據交換(MEX)協議,或者您也可以將您的WSDL(從您的運行服務動態生成,或外部靜態文件)公開給感興趣的調用者。
我從來沒有在ASMX網絡服務上做過很多工作,我也不知道其他系統,所以我不能告訴你有關這些的所有信息。我從經驗中知道一些服務產品確實將WSDL公開爲發現和使用服務的手段,而另一些服務產品則非常偏執於此,您需要通過電子郵件向他們致電/發送郵件以獲取WSDL/XSD,郵件 - 你無法直接發現和使用他們的服務。
感謝您的回答。它清除了我幾件事 - > WSDL包含用於通過網絡發現Web服務的元數據。我對嗎?此外,WSDL和我們在客戶端獲得的代理類之間是否有任何關係?或者當我們獲得WSDL時,我們會自動獲得代理類?此外,WSDL是否有助於實現平臺/系統無關的互操作性? – Learner 2011-03-16 08:25:46
@CSharpLearner:WSDL(及其XSD - XML模式)包含有關服務的信息 - 方法名稱和數據結構。從這些信息中,生成客戶端代理類。是的 - WSDL/XSD完全獨立於平臺 - 您幾乎可以在任何機器上,幾乎任何操作系統,幾乎所有的編程語言上使用它 – 2011-03-16 08:33:54