如何有條件地隱藏web方法?如果web.config中的標誌設置爲false,我不想公開web方法。如果這是真的,那麼我會公開網絡方法。在C中有條件地隱藏asmx web方法#
含義:如果該標誌爲真,該方法應只對客戶端可見,否則應該不可用於客戶端。
這是可能的C#?
如何有條件地隱藏web方法?如果web.config中的標誌設置爲false,我不想公開web方法。如果這是真的,那麼我會公開網絡方法。在C中有條件地隱藏asmx web方法#
含義:如果該標誌爲真,該方法應只對客戶端可見,否則應該不可用於客戶端。
這是可能的C#?
您可以檢查方法中的標誌,並在未設置的情況下拋出異常。
如果標誌爲false,我不想讓客戶端看到這個方法。 – 2011-04-04 17:48:13
這並不簡單。您可以嘗試覆蓋上市系統;祝你好運。 – SLaks 2011-04-04 17:51:56
嗯..我想我必須離開的方法,那麼:( – 2011-04-06 12:34:40
你不能這樣做。
您的客戶「看到」Web方法,因爲它們在WSDL中列出。 WSDL生成相當靜態 - 它基於您的方法中的[WebMethod]屬性。真的沒有能力從生成的WSDL中刪除項目。
如果你可以切換到WCF,你會發現這非常容易。與此同時,您只需使用授權 - 防止某些客戶端調用某些方法。
感謝約翰,我們正在轉移到WCF的過程中,但它需要一些時間之前,這個asmx看到它發生。 – 2011-04-06 12:34:10
「揭露」是什麼意思? – SLaks 2011-04-04 15:55:16
我的意思是,如果Web配置值爲true,則該方法應該只對客戶端可見,否則應該不可用於客戶端。 – 2011-04-04 17:19:27