【问题标题】:Web Service return object generates error messageWeb Service 返回对象生成错误信息
【发布时间】:2014-11-06 09:25:17
【问题描述】:

我关注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 服务?

【问题讨论】:

  • ASMX 页面是遗留技术,不应用于新开发。如果您想在 .NET 中开发 Web 服务,请查看 WCF 或 WebAPI。
  • 感谢您提供的信息。你能给我参考,也许是书?或文章从哪里开始学习 WCF 和 WebAPI?谢谢

标签: c# asp.net json web-services


【解决方案1】:

在那篇文章中,他使用“ObjMyServiceProxy”对象,但我没有找到该对象创建的位置。

然后我检查了 web service Reference 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();  

【讨论】:

  • ObjMyService 可能是引用名称.. 并且 SumOfNums1 方法在该命名空间中不可用.. 我使用的是 MS Visual Studio 2010 和 .Net 4.. 那篇文章使用的是 3.5 就是问题所在?
【解决方案2】:

我在这部分更改代码:

divSumThroughJson.InnerHtml =ObjMyServiceProxy.GetSumThroughObject(JsonStr).Sum.ToString();   

喜欢这个:

divSumThroughJson.InnerHtml = new ServiceReferenceMyService.MyServiceSoapClient().SumOfNums1(JsonStr).Sum.ToString();  

现在它正在工作.. 这样的方式好吗?

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-12-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-09-25
    • 2019-02-24
    • 2017-08-22
    相关资源
    最近更新 更多