日期:2014-05-18  浏览次数:20507 次

asp.net 如何获取webservice void方法体内 response的内容
现有一个webservice void方法
[WebMethod]
  public void HelloWorld(string msg)
  {
  HttpContext.Current.Response.Write(msg);
  }

如何传递一个参数 获得HelloWorld方法输出的内容


附注:不要更改方法的返回类型

------解决方案--------------------
1、[WebMethod(EnableSession = true)]//开启session
2、通过session传输、不知是否可行、

------解决方案--------------------
using System;
namespace _
{
class Method
{

public static void ValueMethod(int i)
{
i++;
} //值参数
public static void ReferenceMethod(ref int i)
{
i++;
} //引用参数
public static void OutputMethod(out int i)
{
i = 0;
i++;
} //输出参数

static void Main()
{


//值参数调用:

int i = 0;
ValueMethod(i);
Console.WriteLine("i="+i);

//引用参数调用:

int j = 0;
ReferenceMethod(ref j);
Console.WriteLine("j=" + j);

//输出参数调用:

int k;
OutputMethod(out k);
Console.WriteLine("k=" + k);
}
}
}

结果:

i=0
j=1
k=1
请按任意键继续. . .

说明:

其中,值传递分别开辟的是两个不同的区间,在main函数中定义值参数时,开辟一个数据地址空间,调用值参数函数时,开辟另一个空间,右面的输出时本地参数(main中的i),故值不变;


------解决方案--------------------
ref类型自动返回