如何使用 c# 中返回类型 void 的方法获取 Response.Write() 结果 asp.net 字符串



我有一个为Android and ios写的webservice asmx,与他们两个沟通良好,我用来以json格式返回值的方法和示例方法是:

[WebMethod]
[ScriptMethod(ResponseFormat = ResponseFormat.Json)]
public void Get_Rest_Distance(double startlat,double endlat,double startlng, double endlng)
{
double dist= GetDistance(startlat, endlat, startlng, endlng);
JavaScriptSerializer serializer = new JavaScriptSerializer();
HttpContext.Current.Response.Write(serializer.Serialize(dist));
}

行:HttpContext.Current.Response.Write(serializer.Serialize(dist));

用于向来自 Android 和 iOS 的 API 调用提供数据,

现在想从我的aspx页面(Code Behind)调用此方法,并且您注意到我的函数的返回类型是void

我添加了webserivice的参考,并写了一些行,例如:

localhost.RestData obj = new localhost.RestData();
string testdata=  obj.Get_Rest_Distance(33.200526, 34.027379, -87.5441, -88.167831); 

但得到错误

Cannot implicitly convert type 'void' to 'string'

正如我提到的,方法是返回类型void,现在我想获取HttpContext.Current.Response.Write(serializer.Serialize(dist));语句返回或写入的数据。

注意:不能在方法中使用return,因为服务是实时的,并且Android和iOS的两个版本都在生产环境中工作。

请随时提出任何问题,如果需要,我会提供更多代码。

您可以使用 Out 参数,如下所示:

static void OutParameter(out int tmp)
{
ShowValue("OutParameter (pre): ");
tmp = 10;
ShowValue("OutParameter (post): ");
}

相关内容

  • 没有找到相关文章

最新更新