我有一个WebMethod,我在ASP.NET站点的许多页面上使用它。我想将这个函数移出各个页面,让它们引用一个“全局”WebMethod函数。我已经完成了许多“普通”静态函数,我在整个网站中使用它只需创建一个类并将它们放在那里。但是这种方法似乎不适用于WebMethod功能。有什么想法吗?
答案 0 :(得分:1)
如MSDN
中所述将WebMethod属性附加到Public方法表示您希望将该方法公开为 XML Web服务的一部分
如果我做对了,这不是你想要做的,因为这种做法的目的是向外部消费者公开功能。
我建议三种方法来避免重复ASP.NET中的常见功能。
第一种方法是使用页面继承。在ASP.NET中,页面是类System.Web.UI.Page
的子类。因此,您可以创建具有所有常用功能的BasePage
,并且您的页面可以继承它,继承相应的功能。
第二种方式是使用decorator design pattern。此设计模式允许您在一个位置移动常用功能并使用它来装饰特定页面。这不是最简单的事情,因此这不是我的第一个建议。
第三种方法是使用 HTTPHandler 。 This和this MSDN帖子可以帮助您了解我们所谈论的内容。 This microsoft tutorial可以指导您如何操作。
希望我帮忙!
答案 1 :(得分:0)
你去:http://msdn.microsoft.com/en-us/library/bb532367(v=vs.90).aspx
演练:创建和使用支持AJAX的Web服务