我有一个为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): ");
}