从Web Service调用ASPX页面的方法

时间:2014-08-06 14:20:58

标签: c# asp.net web-services

我有一个简单的Web服务,只有一个方法。 (此方法从另一个应用程序调用) 在这种方法中我需要调用双面网站的ASPX页面 - 不是html代码,而是这个页面的方法。

有人可以问,我该怎么做?

2 个答案:

答案 0 :(得分:1)

您不想在aspx页面中共享代码。您应该在解决方案中创建类库类型的项目。将您希望成为通用代码的代码从aspx页面和Web服务调用到类中的类项目中。

答案 1 :(得分:1)

将共享/可重用代码与Web服务和ASPX页面分开存储通常是个好主意,这样任何数量的家属都可以访问它。

但要具体回答你的问题:

我假设Web服务类能够引用ASPX页面类(.aspx.cs或aspx.vb)。

以下示例显示了实现您所要求的两种方式。您可以实例化您的Page类并像使用任何其他普通类一样使用该方法,或者如果该方法是静态的,则在不实例化Page类的情况下使用它

示例:

public class MyAspxPage : Page
{
    private Object _myObj = new object();

    public object GetObject()
    {
        return _myObj;
    }

    public static object GetAnObject()
    {
        return new object();
    }
}

public class MyWebService : WebService
{
    public void MyWebServiceMethod1()
    {
        MyAspxPage page = new MyAspxPage();
        object result = page.GetObject();
    }

    public void MyWebServiceMethod2()
    {
        object result = MyAspxPage.GetAnObject();
    }
}