2010-08-08 30 views
2

我有一個執行驗證的自定義類庫。我想打開這個類在Javascript中使用。我明白我可以通過利用WebServices/WCF或通過WebMethod屬性在我的頁面上創建一個函數來輕鬆實現此目的,但不必爲每個項目都設置好所有內容。如何訪問類庫中的WebMethod?

理想情況下,我想將WebMethod屬性添加到我的類庫方法中,然後使用Javascript調用它們。

回答

2

不幸的是,你將不得不公開一個你的Javascript函數可以看到的端點。在ASP.NET中,這很容易使用您遇到的Web方法屬性完成。但是,這種方法requires two parts的端點和實際代碼。如果你仔細想想,這是有道理的。 JavaScript沒有辦法直接與編譯的.NET程序集進行交流。它必須經過類型不可知界面。有一件事你可以做,你可能會這樣做,就是用web方法生成.asmx文件,然後調用你的類庫方法。這不會阻止您擁有.asmx端點,但會阻止實際代碼的重複。我對WCF沒有太多的經驗,但我相信你仍然需要某種端點來接口Javascript和C#。

+0

我想盡可能多,但我需要確定。 – Matt 2010-08-08 01:52:05

0

必須從頁面級方法使用WebMethod屬性。如果你正確地設置了你的庫,這並不是太麻煩。一個WebMethod只是一個靜態方法,但如果你打算在多個頁面中使用它,那麼你最明確地想要使它成爲一個WCF服務。這些都不應該是困難的,開銷很小。

或者,您可以使用一個基本的Page類,所有其他頁面繼承,並在那裏定義您的WebMethod。這個類可以存放在類庫中的某個地方,並可用於多個項目。