我关注this tutorial。我的代码可以在这里找到:https://github.com/mudzakkir/testwebservice.git
在TestConsume.aspx.cs
,此代码:
var ObjSumClass = new SumClass { First = Num1, Second = Num2 };
var ObjSerializer = new JavaScriptSerializer();
var JsonStr = ObjSerializer.Serialize(ObjSumClass);
divSumThroughJson.InnerHtml = ServiceReferenceMyService.GetSumThroughObject1(JsonStr).Sum.ToString();
给出以下错误:
错误1' FirstWebService.ServiceReferenceMyService.GetSumThroughObject1'是'类型',在给定的上下文中无效C:\ TohaDoc \ Sinau \ WebService \ FirstWebService \ FirstWebService \ TestConsume.aspx.cs 32 43 FirstWebService
打开文件MyService.asmx.cs,GetSumThroughObject返回对象。我们如何通过JSON访问Web服务?
答案 0 :(得分:1)
在那篇文章中,他使用" ObjMyServiceProxy"对象,但我没有找到这个对象创建的位置。
然后我检查了web服务参考172行,方法名称应为" SumOfNums1"
public FirstWebService.ServiceReferenceMyService.SumClass SumOfNums1(string JsonStr) {
FirstWebService.ServiceReferenceMyService.GetSumThroughObject inValue = new FirstWebService.ServiceReferenceMyService.GetSumThroughObject();
inValue.JsonStr = JsonStr;
FirstWebService.ServiceReferenceMyService.GetSumThroughObject1 retVal = ((FirstWebService.ServiceReferenceMyService.MyServiceSoap)(this)).SumOfNums1(inValue);
return retVal.GetSumThroughObjectResult;
}
所以你需要像这样的调用方法
divSumThroughJson.InnerHtml = ObjMyService.SumOfNums1(JsonStr).Sum.ToString();
答案 1 :(得分:0)
我更改了此部分的代码:
divSumThroughJson.InnerHtml =ObjMyServiceProxy.GetSumThroughObject(JsonStr).Sum.ToString();
喜欢这个:
divSumThroughJson.InnerHtml = new ServiceReferenceMyService.MyServiceSoapClient().SumOfNums1(JsonStr).Sum.ToString();
现在它正在运作.. 那样的方式还可以吗?