在asp.net 1.1 Web应用程序中消耗强类型数据表(从4.0 webservice返回)的问题

时间:2010-12-16 18:27:21

标签: asp.net datatable asmx

我在asp.net 4.0中编写了一个webservice,它返回一个强类型的数据表,如下所示。 数据表是使用Visual Studio设计器创建的。

[WebService(Namespace = "http://tempuri.org")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[System.ComponentModel.ToolboxItem(false)]        
public class ConsumerService : System.Web.Services.WebService
{
     [WebMethod]
     public ConsumerTable GetConsumer(string key)
     {
      ...
     }

}

我有一个asp.net 1.1应用程序,我想要使用webmethod返回的ConsumerTable。我在asp.net 1.1应用程序和aspx页面中添加服务Web引用,我想在其中使用该信息,我创建代理实例。我没有调用webmethod ...只是创建代理实例,如下所示,

public class Test : System.Web.UI.Page
{       
    svc.ConsumerService svc = new testProj.svc.ConsumerService();

    private void Page_Load(object sender, System.EventArgs e)
    {
        // Put user code to initialize the page here
    }

}

一切都很好。但是当我尝试执行代码时,我得到了以下错误。

  

名为''from的XML元素   命名空间'http://tempuri.org'是   已经存在于当前范围内。   使用XML属性指定另一个   元素的XML名称或命名空间。

我尝试在4.0 Web应用程序中使用webmethod,一切都按预期工作。任何人都可以帮我解决这个错误的解决方案吗?有没有更好的方法在1.1应用程序中使用4.0类型的数据表/数据集?

1 个答案:

答案 0 :(得分:0)

显而易见的问题是问你为什么不使用至少ASP.NET 2.0?它解决了很多XML错误。

接下来的问题是您没有使用WCF创建服务的原因? Microsoft平台上的所有新Web服务开发都应使用WCF。

最后,如果即使你没有调用任何webmethods就会出现问题,那么问题显然与类型化数据表无关!尝试通过创建一个只返回intstring的简单Web服务来简化问题,看看会发生什么。