如何在类库中访问WebMethod?

时间:2010-08-08 01:23:16

标签: asp.net

我有一个执行验证的自定义类库。我想打开这个类在Javascript中使用。我知道我可以通过使用WebServices / WCF或使用WebMethod属性在我的页面上创建一个函数来轻松实现这一点,但不必为每个项目设置所有这些功能。

理想情况下,我只想将WebMethod属性添加到我的类库方法中,然后使用Javascript调用它们。

2 个答案:

答案 0 :(得分:2)

不幸的是,您必须公开您的Javascript函数可以看到的端点。在ASP.NET中,使用您遇到的Web方法属性最容易完成。但是,这个方法requires two parts是端点和实际代码。如果你考虑一下,这是有道理的。 Javascript无法直接与已编译的.NET程序集进行对话。它必须通过类型不可知的界面。您可以做的一件事就是使用Web方法生成.asmx文件,然后调用类库方法。这不会阻止您拥有.asmx端点,但会阻止实际代码的重复。我对WCF没有很多经验,但我相信你仍然需要某种端点来连接Javascript和C#。

答案 1 :(得分:0)

必须从页面级方法使用WebMethod属性。如果你正确设置你的库,这并不是一件麻烦事。 WebMethod只是一种静态方法,但如果您计划在多个页面中使用它,那么您最肯定希望将其作为WCF服务。这些都不应该是困难的,而且开销很小。

或者,您可以使用所有其他页面继承的基页面类,并在那里定义WebMethod。这个类可以在某个类库中存在,并可以在多个项目中使用。