在aspx文件中包含webservice函数

时间:2010-01-14 14:02:23

标签: c# web-services

我在一段时间后读了一篇文章解释了我如何在我的aspx文件中添加webservice函数以便我的ajax回调调用。现在我找不到这篇文章或任何其他文档。

任何使用此功能的人都可以解释如何执行此操作吗?

由于

恩德雷

3 个答案:

答案 0 :(得分:5)

我认为您需要将该方法标记为[WebMethod]

http://geekswithblogs.net/frankw/archive/2008/03/13/asp.net-ajax-callbacks-to-web-methods-in-aspx-pages.aspx

从上面的文章:

  1. 方法必须是静态的
  2. 该方法需要使用[WebMethod()]
  3. 进行修饰
  4. 如果要对其进行ASP.NET AJAX回调,则需要使用[ScriptMethod()]修饰该方法
  5. public partial class Products:System.Web.UI.Page

    { [System.Web.Services.WebMethod()] [System.Web.Script.Services.ScriptMethod()]

    public static List GetProducts(int cateogryID) {

    //将您的逻辑放在此处以获取产品列表 }

答案 1 :(得分:2)

您几乎可以调用任何具有属性[WebMethod]

的方法

也许this是你读过的文章?

答案 2 :(得分:0)

我要记住,通常最好将您的网络服务与调用它们的网页分开。

要在aspx文件中创建简单的Web服务,您可以使用以下内容:

<%@ WebService Language="C#" Class="MyWebService" %>

using System;
using System.Web;
using System.Web.Services;

[WebService(Namespace = "http://www.example.com/webservices/MyWebService, Description = "My Web Service")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
public class MyWebService : WebService
{

    [WebMethod(Description = "Add two numbers and return the result.")]
public int AddNumbers(int first, int second) {
        return first + second;
}

}

如果您正在寻找可以与您的网络服务对话的可靠的跨平台动态JavaScript组件,我会查看http://www.guru4.net/articoli/javascript-soap-client/en/(我使用此功能并强烈推荐它)。

或者,您可以使用类似jQuery的东西来访问REST接口,或者自己从SOAP响应中解析XML。