Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/33.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 从Web服务调用ASPX页的方法_C#_Asp.net_Web Services - Fatal编程技术网

C# 从Web服务调用ASPX页的方法

C# 从Web服务调用ASPX页的方法,c#,asp.net,web-services,C#,Asp.net,Web Services,我有一个简单的Web服务和一个方法。此方法从另一个应用程序调用 在这个方法中,我需要调用站点的ASPX页面——不是html代码,而是这个页面的方法 谁能问一下,我该怎么做?您不想在aspx页面中共享代码。您应该在解决方案中创建类库类型的项目。将您希望成为从aspx页面和web服务调用的通用代码的代码放入类中的类项目。通常最好将共享/可重用代码与web服务和aspx页面分开存储,以便任意数量的依赖项都可以访问它 但具体地回答你的问题: 我假设web服务类能够引用ASPX page class.AS

我有一个简单的Web服务和一个方法。此方法从另一个应用程序调用 在这个方法中,我需要调用站点的ASPX页面——不是html代码,而是这个页面的方法


谁能问一下,我该怎么做?

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

通常最好将共享/可重用代码与web服务和aspx页面分开存储,以便任意数量的依赖项都可以访问它

但具体地回答你的问题:

我假设web服务类能够引用ASPX page class.ASPX.cs或ASPX.vb

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

例如:

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();
    }
}

恐怕那毫无意义。您需要找到另一种方法来做您想做的任何事情—从技术上讲—可以创建Page codebehind实例并在此实例上调用public方法。